Commit graph

471 commits

Author SHA1 Message Date
Unknown W. Brackets
9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
cd56425c73
Merge pull request #16397 from unknownbrackets/meminfo
Debugger: Combine mem info on duplicates
2022-11-19 15:04:41 +01:00
Unknown W. Brackets
3938c0a3af Debugger: Combine mem info on duplicates.
Gran Turismo does some churn on texture sizes, we can combine them and
reduce the speed hit even when detailed.
2022-11-18 23:11:11 -08:00
Unknown W. Brackets
0f79afa172 interp: Support memory breakpoints too. 2022-11-13 17:45:43 -08:00
Unknown W. Brackets
f9da9e6b60 interp: Centralize memory size handling. 2022-11-13 17:38:53 -08:00
Unknown W. Brackets
76cf4dbf12 interp: Allow breakpoints in release mode. 2022-11-13 16:52:40 -08:00
Unknown W. Brackets
b0b03af50d Debugger: Keep flag for any breakpoints.
Oops, only had these checks for memchecks before.
2022-11-13 16:01:13 -08:00
Unknown W. Brackets
8cefb98e97 Debugger: Fix input.analog.send validation. 2022-10-29 17:38:37 -07:00
Unknown W. Brackets
907b41ab4f
Merge pull request #16220 from Nemoumbra/remote-API-tests
hle.func.scan update and code improvements
2022-10-16 07:25:07 -07:00
Nemoumbra
73e5791b08 Code cleanup, optional param renamed: "recreate" -> "remove" 2022-10-16 14:43:56 +03:00
Nemoumbra
4a967966ef Removed the bugged part of hle.func.scan + new comments 2022-10-15 16:01:12 +03:00
Nemoumbra
a772e87072 Comments updated, default value for parameter "recreate" set to false 2022-10-12 12:09:05 +03:00
Nemoumbra
acdaaae7a4 Added optional parameter to hle.func.scan, improved code of hle.func.removeRange 2022-10-12 11:55:01 +03:00
Unknown W. Brackets
416265431b GE Debugger: Display if tex is framebuf.
Rather than guessing based on size, let's show explicitly.
2022-10-10 22:35:42 -07:00
Unknown W. Brackets
825450a373 jit: Defer invalidations made while running.
Previously, invalidating icache could happen while running, which might
cause the CPU to return into outer space.  This runs such invalidations
after letting the CPU exit.

It was easy to trigger this with the debugger: step using the GE debugger,
add a CPU memory breakpoint, then resume from the GE debugger.
However, cheats and the like could cause similar issues.
2022-10-09 21:26:13 -07:00
Nemoumbra
e67cc16660 Remote API: hle.func.removeRange added 2022-10-09 19:11:14 +03:00
Unknown W. Brackets
1c7a5bbb49 Debugger: Fix off-by-one in func scanning.
This is inclusive.
2022-10-08 17:51:04 -07:00
Henrik Rydgård
ed3cd1dc26
Merge pull request #16150 from unknownbrackets/vram-mirrors
GPU: Mask away unused bits in framebuf/zbuf ptr, cleanup
2022-10-03 11:56:24 +02:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master 2022-10-03 07:49:13 +00:00
Unknown W. Brackets
09f0c0c8fd Fixed syntax accessing method reviewed by Unknown W. Brackets <checkins@unknownbrackets.org>
Signed-off-by: lainon <GermanAizek@yandex.ru>
2022-10-03 10:47:55 +03:00
Unknown W. Brackets
58a4376998 GPU: Normalize framebuf addresses.
In VRAM, always store without mirror.  In RAM, always store without
cache/kernel bits.
2022-10-02 21:28:53 -07:00
Unknown W. Brackets
753ac95307 Debugger: Fix game.reset by adding a reboot status.
We don't want EmuScreen to auto-exit, and we don't want to double-lock the
debugger lifecycle lock.  Let's just handle reboot specifically.
2022-10-01 18:13:22 -07:00
Unknown W. Brackets
ac335ad61a armips: Update to UTF-8/c++17 armips. 2022-09-30 19:48:14 -07:00
lainon
3cdf72b68b Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' 2022-09-30 12:35:28 +03:00
lainon
b304551747 Code readability, vec reserve() and remove excess c_str() 2022-09-30 12:31:32 +03:00
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Unknown W. Brackets
3b0c0f2916 Debugger: Add API to scan memory for funcs.
For example, when you know a range is being used or when you've deleted
the functions.
2022-09-27 19:14:32 -07:00
Unknown W. Brackets
b60217d962 Debugger: Fix doc typo for disasm/assemble names. 2022-09-27 19:02:33 -07:00
Henrik Rydgård
ecb84987ef Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. 2022-09-01 11:59:35 +02:00
Unknown W. Brackets
1233d1d376 Reporting: Disable when debugger methods used.
This won't catch all means of hacking memory, but will catch some.
Trying to reduce noise in reporting from debugging.
2022-07-30 18:21:32 -07:00
Unknown W. Brackets
7f07b4154a Debugger: Keep separate tag dirty for RAM.
VRAM and RAM can often be separately dirty, so keeping two ranges helps
reduce flushing, and flushing things together is more efficient.
2022-03-20 13:24:42 -07:00
Unknown W. Brackets
7eafbb54bd Debugger: Fast path write tag lookup. 2022-03-20 13:19:13 -07:00
Unknown W. Brackets
6945151384 Debugger: Improve tag on copies.
MemInit shows up sometimes when the allocation would be more useful.
2022-03-20 12:05:31 -07:00
Unknown W. Brackets
80e054b797 Debugger: Avoid write tag lookup on small alloc. 2022-02-06 09:28:48 -08:00
Unknown W. Brackets
2e2b222983 Debugger: Use detailed meminfo with breakpoints.
Usually there won't be any breakpoints, so it makes sense to enable detail
when they're added automatically.
2022-02-06 09:23:53 -08:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
48b597a1b9 Display: Move core counters/stats to HW file.
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
ad2e380987 Display: Move listeners to separate HW file.
Mixing this in with the HLE management funcs was messy.
2022-01-30 09:41:08 -08:00
Unknown W. Brackets
664d18cc9d Debugger: Encourage better meminfo accounting.
This makes MSVC generate a tighter loop and inline.
2022-01-30 08:03:54 -08:00
Unknown W. Brackets
0f2fc00f1b Debugger: Avoid flushing meminfo on write lookup.
Small improvement on frequent block transfers, etc.
2022-01-15 19:43:16 -08:00
Henrik Rydgård
cc767622d0
Merge pull request #15247 from unknownbrackets/debugger-hash
Debugger: Don't try to hash invalid RAM
2021-12-21 08:29:37 +01:00
Unknown W. Brackets
9017f91253 Debugger: Don't try to hash invalid RAM. 2021-12-20 16:17:18 -08:00
Unknown W. Brackets
db2eddcf27 Debugger: Remove double debug window updates.
Core_EnableStepping() is already marking the debug windows for update,
there's no need to call SetDebugMode() again.
2021-12-12 11:24:03 -08:00
Unknown W. Brackets
9155cd7491 Debugger: Reduce meminfo block check hazard.
If a debugger (i.e. the memory view) checks for memory block info while a
save state is being loaded, it can crash.  This was already rare, but this
change makes it significantly rarer.

Of course, it's still possible without a mutex, but I'm wanting to avoid
slowing down the lookups as they are used at runtime within emulation.
2021-12-04 14:51:02 -08:00
Unknown W. Brackets
e2425a1e00 Debugger: Speed up GetFunctionSize().
Tested games with lots of functions, it's just never worth generating the
full active symbols.  Direct lookup saves 0.005s startup on desktop in a
typical game.
2021-12-04 14:49:50 -08:00
Unknown W. Brackets
b8ab7f39df jit: Lock around changes to the jit pointer. 2021-11-28 10:04:22 -08:00
Unknown W. Brackets
fc2efe5dff Debugger: Add reason to cpu.stepping event. 2021-10-23 22:08:15 -07:00
Unknown W. Brackets
2bd13c5d9d Debugger: Track reason for entering stepping. 2021-10-23 16:56:15 -07:00
Unknown W. Brackets
83909f816e Debugger: Add APIs for GPU stats. 2021-10-19 10:01:41 -07:00