Commit graph

41901 commits

Author SHA1 Message Date
Henrik Rydgård
cc9a25cffa
Merge pull request #19717 from hrydgard/tag-force-texture-hashing
Add special texture hashing mode solving the Tag Force problem
2024-12-10 21:34:43 +01:00
Henrik Rydgård
ec19c47b89 Add special texture hashing mode solving the Tag Force problem.
Don't want to build some complicated rule-based thing until we have more
use cases, so this is quite specialized.

See #19714
2024-12-10 19:24:20 +01:00
Henrik Rydgård
61d2459e94 Minor code cleanup 2024-12-10 19:24:02 +01:00
Henrik Rydgård
034bf1f3b6
Merge pull request #19718 from hrydgard/ge-debugger-new-state-viewer
ImGeDebugger: new state viewer
2024-12-10 18:55:12 +01:00
Henrik Rydgård
9119942544
Merge pull request #19715 from hrydgard/update-molten-vk-mac
Update the MoltenVK dylib for Mac to 1.2.11
2024-12-10 17:23:36 +01:00
Henrik Rydgård
d3789367a4 ImGeDebugger: Implement the new state viewer 2024-12-10 17:21:30 +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
2e39a88397
Merge pull request #19716 from hrydgard/more-debugger-work
More debugger code cleanup
2024-12-10 16:28:17 +01:00
Henrik Rydgård
e1148485f1 Refactor the GE state viewers 2024-12-10 16:01:53 +01:00
Henrik Rydgård
1d64a148f8 Update the MoltenVK dylib for Mac to 1.2.11 2024-12-10 15:10:20 +01:00
Henrik Rydgård
1b27c27131 Merge the command metadata from the debugger to GECommandTable 2024-12-10 14:52:27 +01:00
Henrik Rydgård
8b8489467b Transfer metadata from the state.cpp table to GECommandTable 2024-12-10 10:34:43 +01:00
Henrik Rydgård
e3aaf93e28 Add a new log category 2024-12-10 10:34:26 +01:00
Henrik Rydgård
bf3e1b4ee1 Add Debugger log category 2024-12-10 09:59:08 +01:00
Henrik Rydgård
5f68f81e45
Merge pull request #19712 from hrydgard/show-active-compat-flags
Show active compat flags on crash screen
2024-12-10 09:13:41 +01:00
Henrik Rydgård
594a68eed5
Merge pull request #19709 from hrydgard/playback-refactor
GE dump playback refactor and fix
2024-12-10 01:44:03 +01:00
Henrik Rydgård
961dce861d Fix interaction with the crash screen, oops 2024-12-10 01:43:44 +01:00
Henrik Rydgård
419c329b06 Show active compat flags on crash screen 2024-12-10 01:43:44 +01:00
Henrik Rydgård
fa40ee7a07
Merge pull request #19711 from hrydgard/extracted-commits
Extracted fixes and cleanups from #19709
2024-12-10 01:27:45 +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
ccd5bcaa45 Add facility for __KernelGPUReplay to request to be called again 2024-12-10 01:27:25 +01:00
Henrik Rydgård
b010f1bd48 Make the dispatcher less confusing 2024-12-10 01:27:25 +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
43af3128e0 Fix drag/drop crash 2024-12-10 01:03:05 +01:00
Henrik Rydgård
10445c97d8 Warning fix 2024-12-10 01:02:49 +01:00
Henrik Rydgård
132fabff07 ImDebugger: Add way to cancel pending step 2024-12-10 01:01:47 +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
55217ddc11 Minor UI tweaks 2024-12-10 01:00:14 +01:00
Henrik Rydgård
fe62ac793a ImDebugger scheduler: Show userdata field 2024-12-10 01:00:14 +01:00
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