Commit graph

123 commits

Author SHA1 Message Date
Unknown W. Brackets
fddcbfc5fa GE Debugger: Include rendered CLUTs in frame dumps.
Like with textures, this uses the VRAM address directly.
2022-09-19 12:01:34 -07:00
Unknown W. Brackets
7b4cc3334b GE Debugger: Save current clut in frame dumps.
For example, #14465 shows a case where the frame relies on a previously
loaded CLUT.
2022-09-19 08:30:12 -07:00
Unknown W. Brackets
5b5529b390 GE Debugger: Show time spent stepping. 2022-09-18 09:52:15 -07:00
Unknown W. Brackets
7d07e4e75d GE Debugger: Add fields to register expressions.
This means a conditional breakpoint can now use, for example,
vtype.through == 1 to check the through mode flag.

No constants, but this makes it easier to get right.  Would be nice to
have an autocomplete of the field names, of course...
2022-09-11 13:09:03 -07:00
Unknown W. Brackets
55c70332a1 GE Debugger: Eval breakpoints as if register set. 2022-09-11 11:05:30 -07:00
Unknown W. Brackets
aa377662dd GE Debugger: Provide addrs in breakpoint conds.
Easier to just refer to the full address.
2022-09-11 10:57:04 -07:00
Unknown W. Brackets
100cbec620 GE Debugger: Fix crash on bp before list running. 2022-09-10 19:45:08 -07:00
Unknown W. Brackets
402492a958 GE Debugger: Show imm prim flag detail in disasm. 2022-09-06 22:31:09 -07:00
Unknown W. Brackets
531c7e452d GE Debugger: Count imm prims as prims. 2022-09-06 18:55:25 -07:00
Unknown W. Brackets
f14e49a373 GE Debugger: Add conditions to cmd breakpoints. 2022-09-05 17:33:54 -07:00
Unknown W. Brackets
0b30b723bb GE Debugger: Add address breakpoint conditions. 2022-09-05 17:33:54 -07:00
Unknown W. Brackets
542e7aa555 GE Debugger: Add a table of register metadata.
So far, not used, but indicates info about each GE register.
2022-09-05 12:15:53 -07:00
Unknown W. Brackets
a901fa4315 GE Debugger: Add separate step based on vsync.
I think there were some games where this would step in the middle of a
frame, but not seeing it commonly now.  So make it the default, but allow
both methods in the menu.

Fixes #15893.
2022-08-23 19:48:34 -07:00
Unknown W. Brackets
86085335ca GE Debugger: Record 1 flip if no display calls.
Before we were waiting 4 flips before ending recording.
2022-08-23 19:20:14 -07:00
Unknown W. Brackets
229c944208 GE Debugger: Include extended CLUT in frame dumps.
Not available on a real PSP, but used in an enhancement (see #15727.)
2022-08-20 17:35:06 -07:00
Henrik Rydgård
2f3cad9964 After recording a GE dump, open an explorer window pointing at the file 2022-08-16 21:54:36 +02:00
Unknown W. Brackets
132686513d GE Debugger: Correct base accounting in playback.
On a jump, was forgetting the base value which caused corruption.
2022-08-14 16:14:23 -07:00
Unknown W. Brackets
4467b7830f Debugger: Bump GE dump version to ignore bad flag. 2022-08-11 20:28:56 -07:00
Unknown W. Brackets
c74d69bc2d Debugger: Correct GE frame dump VRAM dirty flag.
Was just wrong before, causing incorrect ignoring in some cases.
2022-08-11 20:25:01 -07:00
Unknown W. Brackets
539e2bbbf8 Debugger: Track unchanged VRAM to avoid copy.
See #15251, the framedump here reused a VRAM texture for many draws, and
this caused it to recopy the texture over and over again.  Use a flag to
skip if possible.
2022-02-20 13:51:40 -08:00
Unknown W. Brackets
71e855a822 GE Debugger: Track last gstate on stepping. 2022-02-13 10:22:59 -08:00
Unknown W. Brackets
0e4daa05b9 GE Debugger: Avoid crash on Step Draw with flush.
If we're already stepping, we shouldn't try to re-enter stepping.
2022-02-10 21:44:41 -08:00
Unknown W. Brackets
f17f6465ac GE Debugger: Optimize slab lookup.
If the slab is the last one, we can grab it right away.
2022-02-07 23:55:10 -08:00
Unknown W. Brackets
da4206b078 GE Debugger: Skip overhead without breakpoints.
In the common case that there's no breakpoints, we can skip most of the
checks and a call.
2022-02-07 23:54:18 -08:00
Unknown W. Brackets
c66619f7c9 GE Debugger: Add filter to skip prim calls.
This allows you to cut prims from the scene as desired.
2022-02-06 21:25:33 -08:00
Unknown W. Brackets
1d37f24e17 GE Debugger: Reduce playback command noise.
No need to reassert these values each prim.
2022-02-05 19:27:20 -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
e47ee79899 GE Debugger: Allow GPU stepping while CPU stepping.
This can happen if you step into an update stall address call or similar.
2022-01-23 23:06:33 -08:00
Unknown W. Brackets
eb95b99523 GE Debugger: Add option to auto flush.
This makes it easier to see what's happening in each draw.
2022-01-22 13:12:59 -08:00
Henrik Rydgård
f991f6a789 Remove the old allocator visualizer. Keep the setting but hide it. Other feedback 2021-11-23 08:55:12 +01:00
Unknown W. Brackets
a0599f70c4 GE Debugger: Record until some drawing.
Otherwise, we end up with empty frame dumps if games call display twice.
2021-11-03 17:40:20 -07:00
Henrik Rydgård
73871b9b7e Implement new thread manager, port stuff to it. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
086b8229f5 GE Debugger: Keep dump generation deterministic. 2021-04-17 16:25:36 -07:00
Unknown W. Brackets
abb7b83fee GE Debugger: Thread dedupe pushbuf lookups.
This improves time especially for larger dumps.
2021-04-16 00:00:56 -07:00
Unknown W. Brackets
a97030068c GE Debugger: Use zstd for save states. 2021-04-11 09:13:10 -07:00
Unknown W. Brackets
cc1b4e695d Debugger: Correct crash with no alloc tag. 2021-02-15 15:01:23 -08:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
821817e6d4 Move the profiler to Common 2020-10-04 11:42:16 +02:00
Henrik Rydgård
989e353482 Common.h shouldn't include Log.h.
Buildfixes

More buildfixes. Move JSON code to common.
2020-10-04 11:42:14 +02:00
Henrik Rydgård
3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Henrik Rydgård
ed88761ecc Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. 2020-09-29 15:51:51 +02:00
Unknown W. Brackets
815580533c GE Debugger: Include game ID inside dump file.
Just so we're not relying on filename parsing.  It's useful information.
2020-09-06 14:38:56 -07:00
Henrik Rydgård
809fd6b8fa Small perf optimization in debug mode (surprisingly expensive to do a vector lookup here). 2020-07-24 00:05:36 +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
Unknown W. Brackets
61f907fd18 GE Debugger: Fix alignment in GE dumps. 2020-05-24 19:06:20 -07:00
Unknown W. Brackets
3b74d4b680 GE Debugger: Prevent crash when stopping execution. 2020-04-11 23:44:31 -07:00
Unknown W. Brackets
93069756e6 GE Debugger: Split playback into a separate file. 2019-06-23 18:49:27 -07:00
Unknown W. Brackets
9e98642258 GE Debugger: Cache decompressed frame commands.
This adds to noise in profiling the frame dump.
2019-06-23 18:29:36 -07:00
Unknown W. Brackets
df6c5f38dc Core: Use readable names for failed backends. 2019-06-22 12:48:56 -07:00