Commit graph

400 commits

Author SHA1 Message Date
Henrik Rydgård
4e25f44eef Rename some module-related functions to include HLE where appropriate 2025-03-31 11:17:50 +02:00
Henrik Rydgård
116f8cf3af Implement resetting from a popup menu on the pause menu. 2025-03-28 14:31:01 +01:00
Henrik Rydgård
0f840e6240 Move JPEG error codes to the big enum, some include cleanup 2025-03-21 20:44:46 +01:00
Henrik Rydgård
e8bfcb433e Logspam fix (when fast-forwarding) 2025-02-19 11:10:01 -06:00
Henrik Rydgård
cdad46e18c Change some sceDisplay functions to use more appropriate return types 2025-01-29 10:48:00 +01:00
Henrik Rydgård
28b2c7f540 HLE log rename part 1: Remove duplicate log functions. Return type should be determined by metadata. 2025-01-29 09:45:39 +01:00
Henrik Rydgård
31c1506a57 Some logging improvements 2025-01-20 11:56:13 +01:00
Henrik Rydgård
d9e2a92efc More logging cleanup in Display/Dmac 2025-01-19 14:02:06 +01:00
Henrik Rydgård
5316ec7ef7 Fix more misuse of the hleLog* functions 2025-01-19 13:09:30 +01:00
Henrik Rydgård
5f5ad32f7e Start cleaning up logging 2025-01-19 12:10:57 +01:00
Henrik Rydgård
f66ea2f63e Add a bunch of restrictions when online (no savestate, no speed control) 2025-01-13 19:33:48 +01:00
Henrik Rydgård
638607d29a Refactor: Make GPUCommon own the framedump "recorder". 2024-12-15 12:07:44 +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
5a3eeb9d9b ImDebugger: Fix issue with HLE Modules window always showing, more granular sleep logging 2024-11-21 15:48:18 +01:00
Henrik Rydgård
59a56d66c7 Add a "reason" argument to sleep_ms().
sleep_ms() should generally be avoided when possible. This can be used to try
to track down unnecessary sleeps by adding some logging.

This commit on its own doesn't actually add any logging.
2024-11-21 15:28:51 +01:00
Henrik Rydgård
9c92978fcc ImGui debugger: assorted work 2024-11-07 11:10:16 +01:00
Henrik Rydgård
320a1cfc8f
Merge pull request #19325 from Nabile-Rahmani/display-refresh-rate-option
[Feature] Option to override the display refresh rate
2024-07-17 20:25:38 +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
Nabile Rahmani
9272f02ba2
Initialise framerate-related variables in __DisplayInit()
This takes into account the user configuration a frame in advance.
2024-07-14 08:21:46 +02:00
Nabile Rahmani
273f4cce31
Refresh rate: don't programmatically set configuration, detect VR instead 2024-07-14 04:47:26 +02: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
d947de601e Apply minor cleanup from #18990
See #18990
2024-04-04 15:48:09 +02:00
Henrik Rydgård
ec411e0ecb Change when we call rc_client_do_frame to something that matches libretro
There's conflicting advice on when to do it, but to avoid people testing
their cheats twice, let's match as closely as we can.

This means that 30hz games will only have the callback run at 30hz.

The duplicate frames option may interfere, just like it may on libretro.
2024-01-22 19:35:26 +01:00
Henrik Rydgård
96dcf40c79 Throw in some sanity checks of usleep 2024-01-20 23:33:21 +01:00
Henrik Rydgård
e1f1af6223 Defer waits.
Add sanity check
2023-12-18 17:15:56 +01:00
Henrik Rydgård
97e0f6dc94 Prepare for deferred waits 2023-12-18 17:15:56 +01:00
Henrik Rydgård
7f075dc9fe Logic fix, oops. 2023-12-18 17:15:56 +01:00
Henrik Rydgård
91dbde9395 Small refactor to enable upcoming commits 2023-12-18 17:15:43 +01:00
Henrik Rydgård
f2da5dafd1 Use the universally supported Vulkan "565" 16-bit texture format
Previously mistakenly used the BGR format instead of the RGB.

Probably won't make much of a difference for anything, but may affect #17881
if my theory about it is correct.

Also minor cleanups.
2023-12-12 18:19:29 +01:00
Henrik Rydgård
a6d717cb39 Add option in dev tools to ask Android for 60hz display using Surface.setFrameRate
Might help #18514 and #18480 if we're lucky.
2023-12-12 15:30:39 +01:00
Henrik Rydgård
33e48e9675 OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen 2023-12-11 23:05:37 +01:00
Henrik Rydgård
aed8bc6d7b RetroAchievements: Finish the Challenge->Hardcore rename 2023-12-03 16:41:29 +01:00
Henrik Rydgård
b629c99dbf Change "Challenge Mode" to "Hardcore Mode", according to RetroAchievements guidelines 2023-11-30 18:11:03 +01:00
Henrik Rydgård
a820b299ae Have unthrottle override alternate speeds, like before. 2023-09-09 13:40:18 +02:00
Henrik Rydgård
ef2d7a810a Add comments, move some stuff around, get rid of some indentation. No functionality change. 2023-08-15 18:34:06 +02:00
Henrik Rydgård
d1b6aa7faa SoftGPU headless crashfix 2023-08-14 11:23:28 +02:00
Henrik Rydgård
ff6e118fff Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically. 2023-08-14 11:02:29 +02:00
Henrik Rydgård
bec9c5611e Rename PresentationMode to PresentMode 2023-08-14 11:02:29 +02:00
Henrik Rydgård
7bb1914fd3 Add FrameTiming.cpp/h (with no real contents) 2023-08-13 17:57:43 +02:00
Henrik Rydgård
096c168dd7
Add yield() function to tell the CPU that we're busy-waiting (rare) (#17862)
* Add yield() function to tell the CPU that we're busy-waiting (rare)

Use it only for the busy-wait in lag sync, which only happens in
Windows.

* Buildfix attempt
2023-08-07 21:38:03 +02: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
f0fd9e85aa Try dirtying CULL_PLANES in Execute_BoundingBox in SoftGPU 2023-07-30 18:35:18 +02:00
Henrik Rydgård
5aeccca85b Move Achievements::FrameUpdate call to hleEnterVblank for consistency 2023-07-13 16:47:16 +02:00
Henrik Rydgård
c6d33957af Add a checkmark icon. Rebuild the UI icon atlas image 2023-07-13 11:02:15 +02:00
Henrik Rydgård
5d3e438258 Unlimited alternate speed got broken in recent changes. Fix it. 2023-07-12 20:55:45 +02:00
Henrik Rydgård
95807a4791 In challenge mode, allow faster alternate speeds (but not slower).
Fixes issue reported in #17631
2023-07-11 11:29:26 +02:00
Henrik Rydgård
c17b84b3d4 Implement RetroAchievements challenge mode restrictions, and fix related bugs 2023-07-08 21:55:32 +02:00
Henrik Rydgård
1375b6e097 Buildfix 2023-06-30 17:25:44 +02:00
Henrik Rydgård
7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00