Commit graph

107 commits

Author SHA1 Message Date
Gleb Mazovetskiy
0fb42e07a6 CMake: Rename USE_ADDRESS_SANITIZER to USE_ASAN
For consistency with USE_UBSAN
2021-01-29 23:10:22 +00:00
Henrik Rydgård
ad2ec61c98 Retry the masked memory experiment on iOS. Turns out it was the shader generator bug that broke things. 2020-11-03 21:04:03 +01:00
Henrik Rydgård
f429c97392 Disable masked memory on iOS again. The cure was worse than the disease apparently.
Needs more investigation before we re-enable.

See #13616
2020-11-03 15:46:21 +01:00
Henrik Rydgård
f050d51973 Enable masked memory addressing on iOS
(removes the need for functioning memory mirrors)

I have a theory that this is related to the iOS 14 problems: #13451
2020-11-03 00:20:19 +01:00
Henrik Rydgård
ee11c796a1 Revert "Try my theory about memory mirrors on iOS 14. See #13451"
This reverts commit 0f647684a3.
2020-10-23 06:57:56 +02:00
Henrik Rydgård
0f647684a3 Try my theory about memory mirrors on iOS 14. See #13451 2020-10-22 10:12:21 +02:00
Henrik Rydgård
b8e8325888 Fix text issue in God Eater Burst. Forgot that games can allocate texture in volatile memory too.
We considered any texture from kernel memory "reliable", which is wrong
since games can allocate out of the upper half of kernel RAM, which is
called "volatile" memory.

Fixes issue #13511
2020-10-14 00:09:08 +02:00
Henrik Rydgård
3e3a40da8c Mark the PPGe font texture as reliable to avoid hashing it. 2020-09-22 21:13:30 +02:00
Henrik Rydgård
a22181df1c Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). 2020-09-01 22:54:36 +02:00
Henrik Rydgård
92bbe974cd Prevent reporting a bad memory access just because Tekken creates a mutex with a null name. 2020-07-20 10:01:22 +02:00
Henrik Rydgård
0829543987 Third part of getting rid of PanicAlert 2020-07-19 20:34:02 +02:00
Henrik Rydgård
626d173d10 Split the fault handling from MemMap.cpp to MemFault.cpp. 2020-07-15 12:12:57 +02:00
Henrik Rydgård
c3016fe6a5 Mac/Linux buildfixes 2020-07-14 09:25:45 +02:00
Henrik Rydgard
1fce6de8b1 Simple exception handler so we can ignore accesses that happen within the PSP memory space. 2020-07-14 09:25:45 +02:00
Henrik Rydgård
7208cf6900 Some code reformatting/renaming 2020-07-12 15:25:21 +02:00
Henrik Rydgård
c739d4e164 Revert "Repeat of the experimental commit, was too fast for the build bot."
This reverts commit d8992a6ae3.
2020-06-03 11:55:14 +02:00
Henrik Rydgård
d8992a6ae3 Repeat of the experimental commit, was too fast for the build bot. 2020-06-03 10:34:21 +02:00
Henrik Rydgård
20afef4c35 Revert "Experimental commit: Bump up scratchpad size so that Android will act like Windows in #10196 (Spider-Man 3)"
This reverts commit 1d9d15a1d7.
2020-06-03 09:19:38 +02:00
Henrik Rydgård
1d9d15a1d7 Experimental commit: Bump up scratchpad size so that Android will act like Windows in #10196 (Spider-Man 3) 2020-06-03 09:19:22 +02:00
Unknown W. Brackets
bdd2029623 Core: Fix memory range guard check.
Was allowing sizes with the high bits set, which could cause all kinds of
weird issues and crashes.
2019-09-28 08:40:41 -07:00
Henrik Rydgård
2f26297062 Clean up some more ifdefs 2019-05-10 23:25:57 +02:00
Henrik Rydgård
67b8c4527d b.sh: Add a build option for address sanitizer. When enabled, we turn on some compatibility options to make it work right. 2018-01-31 14:29:23 +01:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgard
ff2b6b3fca Assorted cleanup, UWP memory map fixes. PSPFlower runs in both 32-bit and 64-bit. 2017-03-23 10:02:28 +01:00
Henrik Rydgård
193b5f3094 By skipping kernel mappings, I got things to fit in the iOS 64-bit address space. However, something is still a bit broken with JIT... 2017-01-25 18:35:09 +01:00
Henrik Rydgard
73a2a1bc0f The MemArena code has way too many ifdefs. Split it up by platform. 2017-01-25 16:20:21 +01:00
Henrik Rydgard
4e1f562f47 Remove the "low" memory mappings, we have no use for them 2017-01-25 15:15:17 +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
4145b60a0e symbian: Remove! 2016-10-11 18:49:08 +02:00
Unknown W. Brackets
eee98966f4 Add Memory utility to detect shutdown. 2016-05-19 21:17:17 -07:00
Henrik Rydgard
1a2edc67d0 Add support for float store/load 2016-05-08 02:03:11 +02:00
Unknown W. Brackets
0c46d7c081 Correct scratchpad memory range checks. 2015-12-27 14:29:12 -08:00
Henrik Rydgard
b07b002040 Introduce "Compatibility Flags".
These should be used very restrictively, see comment in Compatibility.h.

Should help #8004, by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23: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
Unknown W. Brackets
391ca8bed3 Add functions to validate memory ranges. 2015-04-12 22:37:55 -07:00
Unknown W. Brackets
e2ecd1eabd Add memchecks for ReadStruct/WriteStruct. 2015-04-05 18:09:35 -07:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Chin
37f50a3792 Change to pass some arguments by reference 2015-03-01 16:49:00 +01:00
Sacha
1ba9103cef Better support for new archs. 2014-11-11 22:55:49 +10:00
Henrik Rydgard
1d7642fa48 Remove most mentions of the "_XBOX" define 2014-08-24 14:21:35 +02:00
Unknown W. Brackets
b7c96e1942 Allocate executables low, not at a specific addr.
Since usersystemlib takes 0x4000 at the bottom, this will be the same.
The only impact is that kernel modules may also be able to allocate.
2014-08-17 14:26:00 -07:00
Sacha
6ce3765b12 Sailfish: More compatibility with SailFish OS. It also needs stddef where Maemo does.
Set packaging by default for iOS with b.sh.
2014-07-24 23:20:09 +10:00
Unknown W. Brackets
55403e42c2 Introduce a memory shutdown lock.
This allows the debugger to access memory in a safe way that should never
crash.
2014-07-19 23:30:19 -07:00
Unknown W. Brackets
09b9d2ad81 Keep track of ranges that have emuhack ops.
So that we can invalidate them smarter.
2014-07-05 16:25:16 -07:00
Sacha
ea17e17ebd Join both Maemo platforms (Maemo5 + Meego Harmattan/Maemo 6) to MAEMO define. Technically they are very similar and anything that wasn't already defined for both probably needed to be. 2014-06-18 03:42:31 +10:00
Sacha
b57c3e0fe5 Qt: Some bug fixes. Get Meego Harmattan compiling with gcc4.8.2 2014-06-06 14:17:47 +10:00
Sacha
9b7ab3816f Clean up MemArena and MemMap. Remove Symbian from MemArena (shouldn't have more ifdefs than code) 2014-05-29 03:30:23 +10:00
Sacha
f94f28fb4a Symbian: Over allocate VRAM (x4) in attempt to solve crash caused by 0.9.8-601. This brings allocation to the same as before the commit. See #6103 2014-05-28 01:52:38 +10:00
Unknown W. Brackets
80cc9d8c0e Mirror memory for VRAM mirrors.
For a long time we've done this with GetPointer() only, but it's better if
it's the same for all methods of memory access.

Technically, we should do the swizzling (and also swizzle the depth data in
softgpu), but there's no indication games depend on this, and GetPointer
would need changes anyway.
2014-05-06 00:45:47 -07:00
Unknown W. Brackets
fb82310c9a Correct scePsmfPlayerCreate() based on tests.
Mostly error codes.  Report duplicates which don't work on the PSP.
2014-04-20 00:25:48 -07:00