Henrik Rydgård
a5a3401bae
Merge pull request #19710 from Kethen/macos_amd_workaround
...
Work around metal buffer bug on MacOS + AMD GPU
2024-12-09 14:39:34 +01:00
Katharine Chui
49553bcf8d
Simplify MacOS AMD GPU workaround
...
Based on https://github.com/KhronosGroup/MoltenVK/issues/960 ,
expand MacOS AMD GPU workaround to all dGPU and instead of
changing usage, just append VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
2024-12-09 14:22:56 +01:00
Katharine Chui
286580a6a0
Switch to VMA_MEMORY_USAGE_CPU_ONLY on MacOS AMD
...
The ideal allocation would be VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
like in 1.12.3, but vma picked an index that's actually not mappable
VMA_MEMORY_USAGE_GPU_TO_CPU selects VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
which seems to hurt performance
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
selection with VMA_MEMORY_USAGE_CPU_ONLY would suffice for the
workaround, and get better performance
2024-12-09 12:32:31 +01:00
Katharine Chui
93009a3178
Work around metal buffer bug on MacOS + AMD GPU
...
With VMA_MEMORY_USAGE_CPU_TO_GPU buffers, metal buffer appears 0
filled in metal trace during vkCmdCopyBufferToImage triggered
MTLBlitCommandEncoder instance method.
Allocate VMA_MEMORY_USAGE_GPU_TO_CPU instead on MacOS + AMD GPU
2024-12-08 22:13:33 +01:00
Henrik Rydgård
d21de81826
Merge pull request #19707 from hrydgard/core-improvements
...
Core improvements: Run-from-breakpoint fix, add two new step types
2024-12-08 16:15:31 +01:00
Henrik Rydgård
e0a1d658ea
ImDebugger thread window: Visualize the wait ID when possible
2024-12-08 15:41:13 +01:00
Henrik Rydgård
93baf22369
ImDebugger: Add frame-stepping and a "skim" button (single-steps while held down)
2024-12-08 15:12:13 +01:00
Henrik Rydgård
f74e7fb6f5
Fix running when pc is at breakpoint. Fix issue when stepping through Ge-enqueuing functions.
2024-12-08 15:00:11 +01:00
Henrik Rydgård
50fadd1a4e
Merge pull request #19706 from hrydgard/core-cleanup
...
Core.cpp cleanup
2024-12-08 12:38:06 +01:00
Henrik Rydgård
080798b5dd
Move out two more functions from Core.cpp. Clean up Windows includes
2024-12-08 12:12:02 +01:00
Henrik Rydgård
83af54950f
Move more core-related stuff into Core.cpp/h
2024-12-08 11:54:58 +01:00
Henrik Rydgård
df91f699fc
Move the core loop to Core.cpp
2024-12-08 11:47:12 +01:00
Henrik Rydgård
b3d08977d5
Delete unused code
2024-12-08 11:25:00 +01:00
Henrik Rydgård
59ddc7f568
Add wait id column
2024-12-08 11:13:23 +01:00
Henrik Rydgård
739a32324d
Thread view: Show wait type
2024-12-08 11:13:21 +01:00
Henrik Rydgård
b3227e527b
Merge pull request #19705 from hrydgard/debugger-core-timing
...
ImDebugger: Add a window to inspect upcoming CoreTiming events
2024-12-07 16:49:13 +01:00
Henrik Rydgård
b3346df646
ImDebugger: Add a window to inspect upcoming CoreTiming events
2024-12-07 16:28:27 +01:00
Henrik Rydgård
3ca3a797c9
Merge pull request #19703 from hrydgard/ge-debugger-disasm
...
Im Ge Debugger: Add basic disassembly view
2024-12-06 13:47:00 +01:00
Henrik Rydgård
86cdd47fa2
Im Ge Debugger: Add basic disassembly view
2024-12-06 12:52:31 +01:00
Henrik Rydgård
246e2695b7
Merge pull request #19702 from hrydgard/ge-debugger-vertices
...
ImDebugger GE: Add vertex data viewer
2024-12-06 11:00:03 +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
dab40ab602
Merge pull request #19700 from hrydgard/fix-break-on-load
...
Fix regression in break-on-load functionality
2024-12-06 00:44:46 +01:00
Henrik Rydgård
6adf8cabae
Fix regression in break-on-load functionality
2024-12-06 00:40:21 +01:00
Henrik Rydgård
9297d2fc49
Merge pull request #19699 from hrydgard/more-ge-debugger
...
More Im GE debugger: State window, extract more code from the Windows GE debugger
2024-12-05 18:54:13 +01:00
Henrik Rydgård
51ae6ce898
Small simplification
2024-12-05 10:55:19 +01:00
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
47c98a9135
Add barebones GE state display window
2024-12-05 10:25:40 +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
0c524b712e
Merge pull request #19693 from hrydgard/debugger-refactor
...
More GE debugger refactoring, initial work on the new debugger
2024-12-05 09:07:07 +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
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
ea43e07cce
Move some stuff around, rename some stuff
2024-12-05 00:36:48 +01:00
Henrik Rydgård
45dc5f640c
Merge pull request #19697 from hrydgard/split-syscalls
...
Add "Split syscall" mechanism
2024-12-05 00:34:55 +01:00
Henrik Rydgård
c25e6b3933
Add "Split syscall" mechanism
2024-12-05 00:05:39 +01:00
Henrik Rydgård
90d833be86
Merge pull request #19695 from hrydgard/more-ge-refactor
...
More GE refactor
2024-12-04 10:00:49 +01:00
Henrik Rydgård
2a7a2021fc
Merge pull request #19694 from hrydgard/log-manager-refactor
...
Minor log manager refactor
2024-12-03 22:35:45 +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
3ffff831c7
Refactor LogManager (remove GetInstance()). In headless, add option to log to OutputDebugString on Windows.
2024-12-03 21:39:42 +01:00
Henrik Rydgård
0f97578a35
Replace a bad function
2024-12-03 20:33:12 +01:00
Henrik Rydgård
9f344be824
Merge pull request #19691 from hrydgard/core-cleanup
...
Move irrelevant code out of Core.cpp
2024-12-02 13:49:36 +01:00
Henrik Rydgård
2b8414b437
Move irrelevant code out of Core.cpp
2024-12-02 13:26:41 +01:00
Henrik Rydgård
7926696913
Merge pull request #19690 from hrydgard/more-ge-debugger-prep
...
More ge debugger prep - some code reorganization
2024-12-02 12:09:22 +01:00