Commit Graph
2143 Commits
Author SHA1 Message Date
Henrik Rydgård 0829543987 Third part of getting rid of PanicAlert 2020-07-19 20:34:02 +02:00
Henrik Rydgård 47a3bf1dd7 Step 2 of removing PanicAlert 2020-07-19 20:34:02 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård dae9df3829 Fix a bug in crashhandler where we could end up disassembling far too much. 2020-07-19 17:23:21 +02:00
Henrik Rydgård 6f97c3d422 Various platform buildfixes 2020-07-14 09:25:59 +02:00
Henrik Rydgard fdcf4f06f2 Add x64Analyzer to Android.mk. Some minor cleanup 2020-07-14 09:25:45 +02:00
Henrik Rydgard c988d42b04 ARM/ARM64 instruction analysis, hook up to handler 2020-07-14 09:25:45 +02:00
Unknown W. Brackets ae224b3893 jit: Add some basic checks in armjit/arm64jit.
Just the simple (and unlikely) case so far...
2020-07-13 01:49:19 -07:00
Unknown W. Brackets b3bf61dde1 x86jit: Trigger exec exceptions.
A common case might be, you're hacking something in the game and you broke
the stack, so you `jr ra` into outer space.
2020-07-12 22:40:25 -07:00
Unknown W. Brackets 3c34c7c456 irjit: Add jump crash checks.
Doesn't seem to have any significant impact on performance.
2020-07-12 22:17:36 -07:00
Unknown W. Brackets 940066db68 Core: Track exception on bad jumps. 2020-07-12 21:59:08 -07:00
Henrik Rydgård 7dcd708fac Address some feedback 2020-07-12 15:25:27 +02:00
Henrik Rydgård 8461ea19b1 Centralize handling of memory exceptions a bit 2020-07-12 15:25:20 +02:00
Henrik Rydgård efc3f4f5e4 Split CORE_ERROR into CORE_BOOT_ERROR and CORE_RUNTIME_ERROR 2020-07-12 15:25:20 +02:00
Henrik Rydgård dd948383af VFPU interpreter: Improve some error messages, after seeing a bad one in #10196. 2020-06-02 23:18:09 +02:00
Unknown W. Brackets 7910b4029a arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions.  We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Unknown W. Brackets 5afc020fbd x86jit: Force INF * 0 to +NAN.
See #12519 - this is needed for some graphics to render properly.  Seems
to already happen on ARM, so no change to armjit.
2020-04-06 06:33:39 -07:00
Henrik Rydgård 8ddd2b6104 ScanForFunctions: Drastically speed up by only trying to insert the newly found functions into the symbol map. 2020-02-29 01:00:57 +01:00
Henrik RydgårdandGitHub 8048977ba0 Merge pull request #12387 from unknownbrackets/motorstorm
HLE: Replace Motorstorm pixel read func
2020-02-21 14:37:30 +01:00
kotcrab b7a64750ed Fix vcrs disassembly 2019-10-30 22:35:13 +01:00
Unknown W. Brackets e36f894f66 HLE: Replace Motorstorm pixel read func.
Helps with some lighting, see #12363.
2019-10-05 08:37:18 -07:00
M4xwandUnknown W. Brackets 15a9a0ac8f Switch: Cleanup some includes.
Disable dlopen and tty checks too.
2019-09-28 09:22:38 -07:00
Henrik Rydgård 31de5a5082 Improve an assert message that AkiraJkr saw. Fix a silly bug in the last commit. 2019-08-23 18:42:10 +02:00
Unknown W. Brackets 66687c2c82 Core: Fix a format type error. 2019-08-17 13:31:16 -07:00
Henrik Rydgård f9ede96344 Address feedback 2019-08-06 16:39:28 +02:00
Henrik Rydgård 8642134419 VFPU-Int: Add a few fast-paths to ReadMatrix/WriteMatrix. Should gain back part of the speed lost in #12217
(which fixed #5399).
2019-08-06 16:29:58 +02:00
Henrik RydgårdandUnknown W. Brackets f65a71d6d8 Compat: Option to use accurate dotprod for VMMUL.
Eliminates Tekken 6 leg shaking.
2019-08-05 11:44:52 -07:00
Unknown W. Brackets c1c869df27 interp: Implement software inverse square root. 2019-08-04 21:24:13 -07:00
Unknown W. Brackets 6028b79895 interp: Oops, fix vdot bug with subnormals. 2019-08-04 21:23:19 -07:00
Unknown W. Brackets 13278dc1f4 interp: Implement software sqrt to match PSP.
This matches the PSP's square root better.

Disabled by default using a compile-time flag.
2019-08-04 21:23:04 -07:00
Unknown W. Brackets ed4f0896db interp: Use vfpu_dot for vdet as well.
Improves test accuracy here too.  Also keep neg sign on NAN for vdiv.

Disabled by default via compile-time flag.
2019-08-04 21:21:21 -07:00
Unknown W. Brackets d2f7594dc5 interp: Use software dot in vcrsp/vqmul.
Disabled by default using a compile-time flag.
2019-08-04 21:19:23 -07:00
Unknown W. Brackets 7b84be1479 interp: Fix adding infinity in software dot. 2019-08-04 21:17:34 -07:00
Unknown W. Brackets c61a24cef0 interp: Handle rounding in software dot. 2019-08-04 21:17:27 -07:00
Unknown W. Brackets d5e572b82e interp: Correct INF * 0 during dot. 2019-08-04 21:17:21 -07:00
Unknown W. Brackets 2ba35c6391 interp: Use an integer multiply for dots. 2019-08-04 21:17:09 -07:00
Unknown W. Brackets 08a894abde interp: Handle NaN better in vfpu_dot. 2019-08-04 21:17:00 -07:00
Unknown W. Brackets 39017ea200 interp: Use vfpu_dot for vavg, vfad, vhdp.
Disabled by default.
2019-08-04 21:16:51 -07:00
Unknown W. Brackets 4bff980d34 interp: Use software dot for better accuracy.
This gets some vdot/similar tests to give more accurate results compared
to hardware.  Also added flushing of zero and NaNs.

Currently disabled, only enabled with a compile-time flag.
2019-08-04 21:14:23 -07:00
Unknown W. BracketsandGitHub 510daa664f interp: Correct vsbn instruction.
Accidentally broken in f2be0cb.  Rarely used.
2019-07-07 22:58:54 -07:00
Unknown W. Brackets 732d344328 Common: Fix some unused ident and case warnings. 2019-06-22 13:22:12 -07:00
Henrik Rydgård a0dc85a9d7 Fix a bunch of inconsequential uninitialized variables 2019-06-18 00:18:40 +02:00
Henrik Rydgård 379113680c Fix static analysis warning about access outside array (d[ins] = s[ins * 4] * t[0]) 2019-06-18 00:17:43 +02:00
Unknown W. Brackets 3cb1c33fd9 interp: Fix dumb mistake in vtfm.
Had done final testing on this with a 2x2 matrix because it was simpler...

Fixes #12109.
2019-06-16 18:29:29 -07:00
Henrik Rydgård 30831f3ea1 Implement and test clz32, use it in the MIPS interpreter cores.
This will be useful for our vfpu-dot implementations later.
2019-06-14 18:39:15 +02:00
Henrik Rydgård f49999efca Revert "ARM64 vmmul experiment: Disable if S and T matrices overlap."
This reverts commit c4d26dcb10.
2019-06-06 09:34:23 +02:00
Henrik Rydgård 649b7a5671 ARM64 vmmov experiment: Reduce precision by using FMUL+FADD instead of FMADD. May help #12082 and thus also #11179 and #9843. 2019-06-05 00:02:32 +02:00
Henrik Rydgård c4d26dcb10 ARM64 vmmul experiment: Disable if S and T matrices overlap.
If this fixes anything in #12082, we have a regalloc bug I guess...
2019-06-04 22:24:19 +02:00
Henrik Rydgård 7853c90abb JIT: Split VFPU_MTX disable options. To help with #9843 2019-06-03 23:28:15 +02:00
Unknown W. Brackets c773359095 arm64jit: Tweak matrix vfpu overlap detect, etc.
Tried making changes to them to guess at issues for #9843, but didn't find
any.  Still, I think these changes are worthwhile, if small.
2019-06-02 22:10:20 -07:00