Commit Graph

12370 Commits (17a721c8f7be7217d9ac28e6f4d8a3d67ed33be6)
 

Author SHA1 Message Date
Stenzek f4a828303e
FullscreenUI: Fix compiler warning 1 month ago
Stenzek b0c0a8ab75
PageFaultHandler: Remove the exception handler mutex
Make the flag thread-local to ensure that the handler doesn't reenter.

In theory it shouldn't be needed, since we should never crash in the
handler, but bugs can happen...
1 month ago
Stenzek 83a03fe955
CPU/CodeCache: Assert that handlers execute on core thread
And fastmem exceptions come from within the code buffer.
1 month ago
Stenzek 7304bfe256
CPU: Ensure RAM code pages are invalidated on core thread 1 month ago
Stenzek 4cf3404a13
PageFaultHandler: Determine write flag from ESR on MacOS ARM64
Fixes lockup when running the application from an external drive,
and it is disconnected while running.

Still crashes, but at least it doesn't lock up at 100% CPU.
1 month ago
Stenzek 49d39aad78
PageFaultHandler: Set SA_NODEFER on MacOS as well 1 month ago
Stenzek 8013df929a
Qt: Fix window title when editing game specific controller config 1 month ago
Stenzek 88df5c983c
System: Persist settings interface objects
Fixes the bug of loading first setting introduced in the previous commit.
1 month ago
Stenzek b984cb7ac6
System: Improve game setting reload workflow
Reduce duplication, only reload the active game when its settings are
changed, not any game.

NOTE: Changing from not having an ini to having one (i.e. setting the
first setting) is currently broken.
1 month ago
Stenzek 56226045db
FullscreenUI: Render loading screen with separate draw list
Avoids disturbing the main ImGui state.
1 month ago
Stenzek 24deeeef84
System: Fix initial capture mode on start 1 month ago
Stenzek e7157e3666
FullscreenUI: Increase padding on value backgrounds 1 month ago
Stenzek 943db2376d
Achivements: Add rich presence monitor debug setting 1 month ago
Stenzek 527b402c65
ImGuiManager: Remove Host::BeginTextInput()
No longer needed with the on-screen keyboard.
1 month ago
Stenzek 3c4f2bf259
FullscreenUI: Add missing PS icon for D-Pad 1 month ago
Stenzek ec212bfd19
FullscreenUI: Fix initial input not activating on some popup dialogs
e.g. Achievements login. Widgets were getting clipped.
1 month ago
Stenzek 8569058649
FullscreenUI: Add on-screen keyboard 1 month ago
Stenzek 5e1aee1e22
Qt: Add missing icons to cheat import popup 1 month ago
Stenzek e8473a1e0c
Qt: Fix incorrect highlight in memory viewer 1 month ago
Stenzek c475fd6992
Qt: Fix some machine translation errors 1 month ago
Stenzek 6336c532ac
Cheats: Fix importing semi-broken files
Such as those generated by gamehacking.org.
1 month ago
Stenzek 5fd3668090
Achievements: Don't double-free login callback on request failure
Callback always runs.
1 month ago
Stenzek 5ee1d25690
GameDB: Disable PGXP/WS in Vanark
Crashes in first mission otherwise.
1 month ago
Stenzek c130fc12c0
dep/fmt: Update to v12.2.0 1 month ago
Stenzek b2f9c8fba9
Misc: Fix deprecated implicit conversion of fstring->string_view 1 month ago
Stenzek 1f925f86e2
Misc: Add a couple of missing fmt/format.h includes 1 month ago
Stenzek 04f4f1ba2d
Achievements: Respond to RAIntegration reset request 1 month ago
Stenzek 9f9009d640
Achievements: Ensure callbacks run on core thread for RAIntegration
They seem to always be executing in a thread pool currently...
1 month ago
Stenzek 2c32612091
Qt: Simplify logout callback
Use QPointer<> to track widget lifetime.
1 month ago
Stenzek 232c9ad9fb
Achievements: Make password login asynchronous
Gets rid of the wait-for-all-requests which fails with RAIntegration.

Also cleaner, the less blocking the better.
1 month ago
Stenzek 8ec85e305b
Qt: Update machine translations 1 month ago
Stenzek d59fcfb9d5
ImGuiManager: Support rendering Hebrew text 1 month ago
Stenzek 89fb3ad338
DMA: Hardwire reverse direction for OTC
Prevent register writes from clearing the bit, which means a OTC at the
end of memory would trigger a DMA error even though the actual clear is
forced to be negative.

Fixes missing every-other-frame/flicker in Prism Land Story.
1 month ago
Stenzek 8a96948a8d
GPUDevice: Use same buffer sizes across backends
Hopefully avoid failed allocations in Metal.
2 months ago
Stenzek c8abcf4b25
GDBServer: Expose GTE registers 2 months ago
Stenzek 8c1a2022e4
GDBServer: Expose target memory map and registers
Ugh, XML.
2 months ago
Stenzek e2b78d4cab
Qt: Tie relative mouse state to the active window
Release mouse grab when we switch to another window, re-acquire it once
we get focus again.
2 months ago
Stenzek cf24957592
Qt: Implement mouse capture using CoreGraphics
Specifically CGAssociateMouseAndMouseCursorPosition().

Avoids the need for accessibility permissions for mouse capture.
2 months ago
Stenzek 2cf108618f
GDBServer: Fix unused capture warning 2 months ago
Stenzek 3bb39f4e33
ELFFile: Skip embedded PS-X EXE header segments
Ignore the metadata PT_LOAD segment emitted by PS1 linker scripts and
validate loadable segment ranges before invoking the loader callback.

Fixes kernel crash when loading.
2 months ago
Stenzek c7f282f184
Core: Use multiplexer to idle sleep for GDB server 2 months ago
Stenzek 30fa5b4c4e
Qt: Rename background controller poll to idle update
Been that for a while anyway.
2 months ago
Stenzek fa5e11116f
GDBServer: Use indexing instead of range-based for
Just in case the write fails and the client is deleted.
2 months ago
Stenzek 86360211ba
GDBServer: Report watchpoint stop details
Emit rwatch, watch, or awatch stop fields for the matching client and
preserve that complete stop reply for later '?' queries, while falling
back to a generic trap for unrelated breakpoints.
2 months ago
Stenzek b147ed63dc
CPU: Enumerate actions for callback breakpoints
Pass the actual breakpoint type to callbacks, let their return value
control whether the breakpoint is retained, and then follow the normal
breakpoint pause path. This makes callback-backed execute and memory
breakpoints observable without bypassing the instruction-completion
behavior used by watchpoints.
2 months ago
Stenzek e3bea19784
GDBServer: Expand watchpoint ranges
Interpret Z2/Z3/Z4 kind values as byte lengths and represent each
watched byte with an owned CPU breakpoint. Validate MIPS
execute-breakpoint kinds, reject zero, overflowing, or excessively
large watch ranges, and avoid invasive changes to the CPU
memory-access dispatcher.
2 months ago
Stenzek 71c88506ec
GDBServer: Track breakpoint ownership
Represent protocol breakpoint types with a scoped enum and track each
client's logical breakpoints separately from a shared reference-counted
CPU breakpoint registry. Disconnects now remove only breakpoints
created by GDB, preserve pre-existing UI breakpoints, and keep
breakpoints alive while another GDB client still references them.
2 months ago
Stenzek ac6d899191
GDBServer: Disable nagle buffering on connect
"It's always TCP_NODELAY. Every damn time. - Marc's Blog"
2 months ago
Stenzek 0a00cbc3ce
GDBServer: Send invalid instead of zero values for extra registers 2 months ago
Stenzek c2418520ef
GDBServer: Notify host when first/last client connects/disconnects
Enables higher frequency polling.
2 months ago