Henrik Rydgård
95b7db99ed
Extract the vertex formatting code from the Windows GE Debugger
2024-12-05 10:47:49 +01:00
Henrik Rydgård
6d33408da6
Move the state tab definitions to GPU/Debugger
2024-12-05 10:13:25 +01:00
Henrik Rydgård
21997784bf
Extract FormatStateRow() from the Win32 GE debugger to GPU/Debugger/Registers
2024-12-05 10:07:29 +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
11819e87cf
PauseAction readbacks now work again
2024-12-05 00:36:49 +01:00
Henrik Rydgård
f8af4906f5
Ge debugger: Better solution for draw notifications
2024-12-05 00:36:49 +01:00
Henrik Rydgård
9ed8d8871e
Ge stepping without wait: Tex/Prim stepping works. Draw/Single have issues.
2024-12-05 00:36:48 +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
35f9b9d0d8
Qt buildfix, assorted warning fixes
2024-12-02 09:14:10 +01:00
Henrik Rydgård
96c4a10e8c
Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping.
2024-12-01 21:04:21 +01:00
Henrik Rydgård
3a5968ba33
Don't block the render thread while the CPU is paused. This is a prereq for imgui debuggers.
2024-11-05 12:53:21 +01:00
Henrik Rydgård
dd8f9b682f
Don't crash on trying to re-record a GE dump
2024-11-01 20:27:09 +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
Henrik Rydgård
e3177ac870
Make some global string pointers const, not just the strings.
...
Minor cleanup.
2023-12-29 14:09:45 +01:00
Henrik Rydgård
acbd32c5f1
Fix GE frame dumps, no longer produces only 1kb files.
...
Broke in ca94de8d4b
2023-12-28 20:27:32 +01:00
Herman Semenov
ca94de8d4b
[GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:34:34 +03: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
cec9dbbdf7
Build: Add some missing include guards.
2023-09-07 17:14:58 -07:00
Henrik Rydgård
d2d8688e47
Add "Create frame dump" to the in-game developer menu (that can be enabled in dev settings)
...
Makes it possible to create one without connecting the websocket
debugger, even on non-Windows platforms.
2023-08-24 14:41:35 +02:00
Unknown W. Brackets
3b03c1ca85
GE Debugger: Make step tex jump to first prim.
2023-07-16 11:34:51 -07:00
Unknown W. Brackets
88ba003f46
ThreadManager: Add a simple priority field.
...
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Unknown W. Brackets
860be93c0c
GE Debugger: Prevent double init.
...
If you were mashing record, it was possible to add two inits to the
recording, which caused playback issues.
2022-12-18 14:53:11 -08:00
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
d7224a8401
GE Debugger: Cleanup logspam on game exit.
...
If you're stopped on a frame and quit, it was previously logging every
command as it exited, thinking it was waiting on each.
2022-12-01 23:12:14 -08:00
Unknown W. Brackets
a6bc9acf16
GE Debugger: Correct LastVRAM mirror wrap around.
...
Oops, this fixes crashes when textures are used near the edge of VRAM.
2022-11-27 19:59:57 -08: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
00e8720749
GE Debugger: Try harder to identify unchanged VRAM.
...
If we exit to the CPU (stall), we don't know if VRAM gets changed by the
CPU. We can check to avoid making the dump require unnecessary copying.
2022-11-01 22:47:46 -07:00
Unknown W. Brackets
5afb009b56
GE Debugger: Dump textures only if possibly used.
2022-11-01 22:15:11 -07:00
Unknown W. Brackets
e7185f93b3
GE Debugger: Restrict marking of dirty VRAM better.
2022-11-01 22:14:23 -07: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
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
Henrik Rydgård
b333695cd1
Merge pull request #16160 from unknownbrackets/vram-mirrors
...
GPU: Use flags to fix triggered upload/download
2022-10-04 08:45:06 +02:00
Unknown W. Brackets
a1efed31b9
GPU: Use flags to fix triggered upload/download.
...
No longer using mirror hacks.
2022-10-03 20:17:25 -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
73040ebb8f
GE Debugger: Ignore mirrors for target in record.
2022-10-02 20:48:28 -07:00
Unknown W. Brackets
4a17ab8070
GE Debugger: Correct mask in target breakpoints.
2022-10-02 20:47:12 -07:00
Unknown W. Brackets
fcc877a0f3
GE Debugger: Fix memcpy/memset recording.
...
Uhh, oops. I'm surprised I didn't notice these were broken for so long.
2022-10-01 23:48:23 -07:00
Unknown W. Brackets
978fd9fc60
GE Debugger: Record the Edram translation value.
2022-10-01 23:48:06 -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
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
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