45 Commits

Author SHA1 Message Date
Henrik Rydgård a317890c08 Remove the GPUDebugInterface class
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.

Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
Henrik Rydgård cdc3a19284 Fix exiting from framedump playback while paused inside a display list
Fixes #20304
2025-04-30 15:53:55 +02:00
Henrik Rydgård 4d215b1f54 Cleaner exit from when stepping through a frame dump 2025-04-07 16:34:17 +02:00
Henrik Rydgård 605daf879b Minor cleanup. Fix file handle leak when opening zip files from the main screen. 2025-04-07 15:42:51 +02:00
Henrik Rydgård 2cc631338b Correctly unload GE framedumps. Additionally, look up the title when possible and show in titlebar. 2025-03-06 14:58:33 +01:00
Henrik Rydgård 3ab625a0fa Windows: Lock when updating the window title 2025-03-06 14:24:40 +01:00
Henrik Rydgård 85c015efb8 Remove redundant shutdown callback 2025-02-13 15:13:25 -06:00
Henrik Rydgård 638607d29a Refactor: Make GPUCommon own the framedump "recorder". 2024-12-15 12:07:44 +01:00
Henrik Rydgård e3aaf93e28 Add a new log category 2024-12-10 10:34:26 +01:00
Henrik Rydgård 87e9bcdc09 Playback: Remove logging, improve locking, works now it seems 2024-12-10 01:27:25 +01:00
Henrik Rydgård 4befbeac7c Move the dump playback mips code to Playback.cpp. Assorted cleanup. 2024-12-10 01:27:25 +01:00
Henrik Rydgård f20266a089 Playback: Match the real sceGe functions better. 2024-12-10 01:27:25 +01:00
Henrik Rydgård 839df81852 thread solution: initial progress 2024-12-10 01:27:25 +01:00
Henrik Rydgård 8b706ba791 Break out a LoadReplay function 2024-12-10 01:27:25 +01:00
Henrik Rydgård 983ea69a57 Replay: Add some plumbing to propagate the Break status outwards 2024-12-10 01:27:25 +01:00
Henrik Rydgård 10445c97d8 Warning fix 2024-12-10 01:02:49 +01:00
Henrik Rydgård de3617529f const, rename a function 2024-12-10 01:01:31 +01:00
Henrik Rydgård a94431f4fa Remove an unnecessary wrapper function 2024-12-10 01:01:05 +01:00
Henrik Rydgård 474e7acf54 Hook up the new (bare-bones) ImGui debug window to GPU stepping, fix stepping. 2024-12-05 00:51:59 +01:00
Henrik Rydgård c25e6b3933 Add "Split syscall" mechanism 2024-12-05 00:05:39 +01:00
Henrik Rydgård e977906d75 Lift out running the display list to the callers.
This has one tricky case though...
2024-12-03 22:35:36 +01:00
Henrik Rydgård 0df2a40487 Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing. 2024-12-02 11:12:14 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 8b99c9f9d9 GE dump playback: Don't flip unless DISPLAY is the last command. This messes up the frame structure. 2024-01-30 11:14:38 +01:00
Herman Semenov 309f0d97f2 [Common Data Net/Core Debugger HLE/GPU Debugger] Fixed reduction data type size to strict 32-bit integer 2023-12-14 19:26:10 +03:00
Unknown W. Brackets 6c2001d12d GE Debugger: Correct texture address corruption.
Happened when playing back frame dumps that set bufw after specifying the
texture address, but before drawing.

Seen in Syphon Filter.
2022-11-19 14:59:52 -08:00
Unknown W. Brackets 1ffdf0d5b8 GE Debugger: Respect unchanged VRAM each frame.
Oops, wasn't setting the version each run after caching the frame dump
data.
2022-11-01 22:56:29 -07:00
Unknown W. Brackets 55d5dc3834 GPU: Rename readback and buffer write operations.
Avoid download/upload and pack, which don't have clear directions.
2022-10-09 13:49:41 -07:00
Unknown W. Brackets 978fd9fc60 GE Debugger: Record the Edram translation value. 2022-10-01 23:48:06 -07:00
Unknown W. Brackets 7ff5434968 GE Debugger: Tag frame dump replay VRAM writes.
Just for debugging, it's helpful especially paired with softgpu tagging.
2022-09-23 21:20:14 -07:00
Unknown W. Brackets c3c5450b8f GE Debugger: Fix small tex/clut recopying.
If it's less than 256 bytes, we can't mark the entire VRAM area copied.
This still helps frame dumps avoid excessively slow VRAM recopying
situations, but fixes issues like missing trees in #12738.
2022-09-23 21:18:39 -07:00
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 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 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 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 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 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 821817e6d4 Move the profiler to Common 2020-10-04 11:42:16 +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 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 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