Commit Graph

625 Commits

Author SHA1 Message Date
Henrik Rydgård db13c09c41 Add break-on-count (with rudimentary UI), break on block transfer 2024-12-17 11:24:07 +01:00
Henrik Rydgård 3a97479116 Correct prim counting when stepping 2024-12-17 10:58:23 +01:00
Henrik Rydgård e1e9047de2 Some renaming 2024-12-17 09:56:46 +01:00
Henrik Rydgård 96cab3f267 Rework the log manager to be more robust 2024-12-16 12:33:58 +01:00
Henrik Rydgård dda3ddf6b0 Simplifications 2024-12-15 16:09:42 +01:00
Henrik Rydgård 54d18bb343 Lift some more debugging functionality into GPUCommon 2024-12-15 14:03:05 +01:00
Henrik Rydgård 11dbae3457 Remove the "DispatchFlush" mechanism, not convinced it's a win 2024-12-15 13:42:05 +01:00
Henrik Rydgård 4223bcfae1 Move the ownership of GPU breakpoints to GPUCommon 2024-12-15 12:51:37 +01:00
Henrik Rydgård 638607d29a Refactor: Make GPUCommon own the framedump "recorder". 2024-12-15 12:07:44 +01:00
Henrik Rydgård 17e0680c12 ImGeDebugger: Show the stall address (if any) in red. 2024-12-15 11:21:09 +01:00
Henrik Rydgård 9e019ae246 Remove the notion of the GPU debugger being "Active". Now it's automatic. 2024-12-15 11:12:53 +01:00
Henrik Rydgård 6baaa2607a GE debugger: Cleaner resume from steps. Fixes GE debugging in God of War. 2024-12-13 20:36:31 +01:00
Henrik Rydgård 9a3cc7546b One more bit of simplification 2024-12-13 19:35:40 +01:00
Henrik Rydgård 7643d38700 Inline InterpretList into ProcessDLQueue. Makes it easier to understand the flow. 2024-12-13 19:29:06 +01:00
Henrik Rydgård 3465993af9 Minor code cleanups 2024-12-13 19:24:11 +01:00
Henrik Rydgård 4a8a87764c Remove unused state 2024-12-13 19:15:33 +01:00
Henrik Rydgård 58eaa3bad8 Move out checking for bad PC from InterpretList 2024-12-13 18:45:18 +01:00
Henrik Rydgård 024cb73716 Simplify collecting time into debug counters 2024-12-13 18:26:55 +01:00
Henrik Rydgård 74b750e30d Comments 2024-12-13 18:12:09 +01:00
Henrik Rydgård a858032e46 Remove obsolete accounting for time spent stepping the GE (we no longer block) 2024-12-12 18:54:46 +01:00
Henrik Rydgård c756842b7b Im Ge debugger: Gray out disabled state (state that belongs to disabled features) 2024-12-10 16:38:36 +01:00
Henrik Rydgård b2a8b4168b Core: Minor changes to stepping (and some log changes) 2024-12-10 01:06:19 +01:00
Henrik Rydgård c842e3f137 Fix discrepancy between stepping and running across frame endings. Add some more menu options in the ImDebugger 2024-12-10 01:06:04 +01:00
Henrik Rydgård 5f83e48280 Move the ge debugger window back out from GPUCommon 2024-12-06 09:50:00 +01:00
Henrik Rydgård 2c8e78408b Add basic vertex data viewer (with the same flaws as the old one) 2024-12-06 09:29:12 +01:00
Henrik Rydgård 51ae6ce898 Small simplification 2024-12-05 10:55:19 +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 37f61bff5d Remove unused code. Activate split syscalls (for Ge stepping) when the Ge debugger is "active" 2024-12-05 00:52:21 +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 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 63c0305301 Delete unused enum, add a new parameter bool 2024-12-03 22:35:36 +01:00
Henrik Rydgård 9b1d077943 Comment updates 2024-12-03 22:35:36 +01:00
Henrik Rydgård 5d0316db6f Tune some log verbosity, remove timestamp on outputdebugstring logs 2024-12-03 22:11:01 +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 102d62deab More GE debugging prep 2024-12-02 10:34:26 +01:00
Henrik Rydgård 35f9b9d0d8 Qt buildfix, assorted warning fixes 2024-12-02 09:14:10 +01:00
Henrik Rydgård 16c6855ef0 Plumb through a basic Ge debugger window (no real functionality yet) 2024-12-01 23:04:42 +01:00
Henrik Rydgård e94defbb15 Get the CORE_RUNNING_GE coreState working! 2024-12-01 22:49:18 +01:00
Henrik Rydgård 6a7435341e Some reporting cleanups 2024-10-28 17:25:40 +01:00
Henrik Rydgård 8991329de4 GPUCommon::PerformMemoryCopy: Add a debug assert 2024-10-25 21:31:51 +02:00
Henrik Rydgård a062e5192b Fix issue where PresentedThisFrame didn't work on SoftGPU, causing issues 2024-10-16 15:53:42 +02:00
Henrik Rydgård 21bf1c588f Ignore single imm point draws, that are accidentally kicked off when games initialize the GPU. 2024-10-14 14:26:44 +02:00
Henrik Rydgård c451b41b8b Merge pull request #19470 from hrydgard/for-based-loop-cpp17
Rebase of #18559 (For based loop cpp17 by GermanAizek)
2024-09-18 13:25:34 +02:00
sum2012 0bce42cc33 More Ignore address in gpu (#16303)
* More Ignore address 0 in gpu

Fix #16297

* Change to ignore bad memory access

* Update SoftGpu.cpp

---------

Co-authored-by: Henrik Rydgård <hrydgard@gmail.com>
2024-09-18 09:48:22 +00:00
Herman Semenov 192650f551 [Core/HLE/GPU/D3D11/GLES] Using for based loop C++17 and replaced on structured binding map C++17 2024-09-18 11:10:10 +02: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 70ae4a35c1 Fix faulty formula for block transfer size-check. 2024-05-10 13:50:49 +02:00