Henrik Rydgård and Claude Opus 5
14e8ba8486
Make numVBlanks atomic
...
The WebSocket debugger reads it from its own thread (input.buttons.press counts
down frames against it) while the CPU thread bumps it.
Note the input subscriber and broadcaster need no other changes for thread
safety: __CtrlUpdateButtons, __CtrlSetAnalogXY, __CtrlPeekButtons and
__CtrlPeekAnalog all take ctrlMutex internally, so routing them through
Core_RunOnCPUThread() would only add a blocking round trip.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-17 13:11:16 +02:00
Henrik Rydgård
2096179dce
Drive-by code cleanup
2026-08-15 18:31:20 +02:00
Henrik Rydgård
e9a3449ede
More MIPSState * plumbing (manual)
2026-08-12 14:02:19 +02:00
Henrik Rydgård
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
811c4bc577
Remove the VblankListener callback mechanism, do direct calls instead
...
Should fix #21575
2026-04-28 16:27:12 +02:00
Henrik Rydgård
22b07849cf
Add a missing lock
2026-03-13 11:35:10 +01:00
Henrik Rydgård
f5b2df6111
Only clear vblank listeners on exec start, not flip listeners.
...
This needs kind of a different type of cleanup, actually, but that's for
later (I want to get rid of this registration mechanism entirely).
Fixes #21239
2026-02-11 15:38:18 +01:00
Henrik Rydgård
09b087f16f
Resume gameplay immediately after choosing Reset on the pause screen.
2026-02-10 00:22:09 +01:00
Henrik Rydgård
5aeab28e9b
Remove the "Percentage of framerate" frameskip type
2025-10-20 11:49:41 +02:00
Henrik Rydgård
cc3fbb22e4
Change some stat arrays from double to float (to save mem bandwidth)
2025-06-18 11:00:27 +02:00
Henrik Rydgård
d00f8f9401
Display: Don't clear display callback listeners when starting a new exec.
...
Fixes https://github.com/RetroAchievements/RAIntegration/issues/1186
2025-06-07 17:43:18 +02:00
Henrik Rydgård
0f18f054ab
Make the frame-time budget for uploading replacement textures take framerate into account
2025-04-22 20:19:43 +02:00
Henrik Rydgård
3e198c53b2
More include cleanup
2024-12-18 13:57:26 +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
Nabile Rahmani
7af15c73bc
[Feature] Option to override the display refresh rate
...
This adds a per-game graphics option, `DisplayRefreshRate`, to override the display refresh rate.
It defaults to 60 Hz, and is located in Dev tools.
Games using variable timesteps benefit from higher refresh rates.
Closes #19319
2024-07-13 15:04:20 +02:00
Henrik Rydgård
fae1f4acd3
A null check and a locking simplification
2024-01-30 19:15:19 +01:00
Henrik Rydgård
a32249a3cf
Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu
2023-08-03 16:19:18 +02:00
Henrik Rydgård
fc6879674e
Refactor overlays into an enum
2023-08-02 13:03:04 +02:00
Henrik Rydgård
3800e88ecb
Fix wrong "game is running slow" warning on high-refresh-rate devices.
2023-04-30 11:01:09 +02: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
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
3df6cb704f
Global: Fix some type conversion warnings.
...
Hidden by some warning disables.
2022-01-30 16:09:33 -08:00
Unknown W. Brackets
48b597a1b9
Display: Move core counters/stats to HW file.
...
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
ad2e380987
Display: Move listeners to separate HW file.
...
Mixing this in with the HLE management funcs was messy.
2022-01-30 09:41:08 -08:00