Commit Graph
3004 Commits
Author SHA1 Message Date
Henrik Rydgård c4bac2d379 ABI: Switch to paired load/stores of floats too 2017-01-27 14:56:38 +01:00
Henrik Rydgård e1bae9aa67 Follow the ARM64 ABI better (update the frame pointer). 2017-01-27 14:19:03 +01:00
Henrik Rydgård 635b2ada43 Remove a function that didn't make a lot of sense. 2017-01-26 09:50:16 +01:00
Henrik Rydgård 6e49341b91 Workaround a shutdown crash by adding a sanity check .. which actually catches stuff. A bit worrying. 2017-01-26 08:43:26 +01:00
Henrik Rydgard 5d5f10d956 Attempts to counter crashes seen in the Google Play developer console 2016-12-01 22:07:03 +01:00
Henrik Rydgard e1e335885c A better alternative to #8564 2016-12-01 18:23:58 +01:00
Henrik Rydgard 5df685fa07 Fix another couple of arch define things 2016-11-03 22:25:55 +01:00
Florent Castelli 8c3552de74 cmake: Detect features at compile time
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Florent Castelli 70593d1004 android: Change preprocessor define to standard __ANDROID__
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Florent Castelli 4145b60a0e symbian: Remove! 2016-10-11 18:49:08 +02:00
Florent Castelli 373db56a16 blackberry: Remove! 2016-10-11 17:40:32 +02:00
Henrik RydgardandUnknown W. Brackets f6ebedba78 Fix some build errors. 2016-10-10 22:01:20 -07:00
Unknown W. Brackets 3fe1a08cf5 Use unordered lookups for better speed.
These reduce the time spent on save states.
2016-09-24 14:23:17 -07:00
Henrik Rydgard 3ee2b27cdd Update ext/armips 2016-09-18 23:11:41 +02:00
Henrik Rydgard 03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgård 22b6988424 Fix issue with iOS JIT block linking, see #8122 2016-08-29 17:32:46 +02:00
Henrik Rydgard 4e5f1e2797 Fix block linking with W^X mode 2016-08-28 18:54:14 +02:00
Henrik Rydgard b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Henrik Rydgard 323eb72b7c Write-protect the dispatcher on all platforms. 2016-08-28 13:35:27 +02:00
Unknown W. Brackets 0e43f1cdff Hook another VRAM modifying function.
Seems to be a copy.
2016-08-06 16:30:47 -07:00
Henrik RydgårdandGitHub ea6b72d4c9 Merge pull request #8888 from unknownbrackets/warnings
Warning fixes
2016-08-06 10:59:06 +02:00
Unknown W. Brackets fd546ff21d Fix some type comparison warnings. 2016-08-05 10:47:45 -07:00
Unknown W. Brackets e55198f7e7 Correct some initialization order warnings.
Also, another missing init with IRBlocks.
2016-08-05 10:46:11 -07:00
Unknown W. Brackets 9972e5b10a Debugger: Allow logging on CPU breakpoints. 2016-08-04 12:39:29 -07:00
Henrik Rydgard eb72a746b9 Fix one possible (reproducible!) startup crash in IRJit. May help #8848 2016-07-25 00:21:01 +02:00
Henrik Rydgård c6d4966067 Make really sure we're not using the IRBlock copy constructor other than on Symbian.
Turns out it ended up being used on Mac, and our asserts just debugprint and don't actually assert...
2016-07-09 09:32:41 +02:00
Henrik Rydgard e0845b876f Fix some bugs in the IRJit. Hopefully helps #8848 2016-07-08 00:05:44 +02:00
Henrik RydgårdandGitHub 1091fd2dc0 Merge pull request #8840 from unknownbrackets/ir-vfpu
Minor IR cleanup in the VFPU
2016-07-04 10:02:52 +02:00
Unknown W. Brackets 1de4943632 jit-ir: Avoid crash in stack walk.
This can happen if something is data, I suppose, and not a valid block.
2016-07-02 20:51:06 -07:00
Unknown W. Brackets 4578c3cb54 jit-ir: Implement memory breakpoints.
These generally work, but likely delay slots will make downcount slightly
off, and won't resume when you hit run again without manually stepping
through them.
2016-07-02 16:38:30 -07:00
Unknown W. Brackets 7cd666c351 jit-ir: Decrease downcount after delayslot.
Except for likely delay slots.  This makes breakpoints work more
correctly when they trigger within a delay slot.
2016-07-02 16:35:56 -07:00
Unknown W. Brackets 1df08518ae jit-ir: Implement basic icache clear. 2016-07-01 17:27:24 -07:00
Unknown W. Brackets 6fb34d0bee jit-ir: Add initial breakpoint support.
No memory breakpoints yet, and cache isn't cleared yet so these don't work
exactly the way you might expect...
2016-07-01 17:15:57 -07:00
Unknown W. Brackets 8fab3dc91b jit-ir: Allow 3x3 and 2x2 vmmov in IR.
While this will generate a lot of FMovs, it should still be better than
bailing to interp.
2016-07-01 14:08:32 -07:00
Unknown W. Brackets 65394f1dba jit-ir: Fix vbfy with overlap. 2016-07-01 14:08:31 -07:00
Unknown W. Brackets 4761c0aa3f jit-ir: Allow SIMD on vabs/vneg. 2016-07-01 14:08:31 -07:00
Unknown W. Brackets f4a06cd79a Remove an impossible assert condition. 2016-05-31 11:56:23 -07:00
Unknown W. Brackets 6ee770bd80 Add some missing overrides to declarations. 2016-05-31 11:55:45 -07:00
Unknown W. Brackets 25136eb019 Remove an unused function. 2016-05-31 11:40:39 -07:00
Unknown W. Brackets 419b960403 x86jit: Fix params in Replace_fabsf. 2016-05-31 10:40:14 -07:00
Unknown W. Brackets a450a79f52 jit-ir: Optimize loads to transfers if possible.
These (especially float <-> gpr) happen in all games, but gpr->gpr is
especially common in some minis.  Good to reduce bloat.
2016-05-29 18:34:41 -07:00
Unknown W. Brackets 5b7bd8155d Special case specific sin/cos result values.
Fixes #7737, thanks go to gid15 from Jpcsp for finding and daniel229 for
reporting.
2016-05-29 08:51:38 -07:00
Unknown W. Brackets 4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Unknown W. Brackets e65e794f28 x86jit: Fix vmmul of matrix with itself.
Was not SIMDing correctly.  Probably rare in practice.
2016-05-21 23:02:29 -07:00
Henrik Rydgård bb7dd908ba Merge pull request #8760 from unknownbrackets/warnings
Warning fixes + more ccache
2016-05-21 18:35:29 +02:00
Unknown W. Brackets b09c2b1f75 Add some missing override definitions. 2016-05-21 09:29:03 -07:00
Unknown W. Brackets f0cc975865 Hook some funcs in Me and My Katamari.
One is a very hardcoded screenshot download / vfpu convert to 565, and the
other is some very weird check to make sure render is clear or has
happened or something.

The screenshot func detects downloads for the "Royal Album".  The render
check detects downloads for post-rename (no idea why it checks here.)

Fixes #7695.
2016-05-20 22:30:25 -07:00
Henrik Rydgård 306f7423e7 Merge pull request #8755 from unknownbrackets/cpu-div
Handle divide by zero more accurately in jit
2016-05-19 09:30:25 +02:00
Unknown W. Brackets 2d3df5c621 armjit: Handle divide by zero more accurately.
Turns out, some games may depend on this behavior.
2016-05-19 00:07:41 -07:00
Unknown W. Brackets 5105e1947f x86jit: Set HI/LO properly on divide by zero. 2016-05-19 00:06:53 -07:00