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
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