Commit Graph

409 Commits

Author SHA1 Message Date
Henrik Rydgård 1c49ad7b29 Support screen rotation on iOS (unrestricted) 2025-10-22 15:13:21 +02:00
Henrik Rydgård 042cf87248 Rework the present mode settings, refactor. 2025-10-20 21:28:38 +02:00
Henrik Rydgård a656496953 Remove setting for fast-forward mode 2025-10-20 19:53:21 +02:00
Henrik Rydgård 5aeab28e9b Remove the "Percentage of framerate" frameskip type 2025-10-20 11:49:41 +02:00
Henrik Rydgård 176c55da25 Remove unused "interval" concept from presentation mode 2025-10-19 18:18:06 +02:00
Henrik Rydgård 12aba31f38 Delete the Running slow warning (but keep the one for software rendering) 2025-09-04 10:27:22 +02:00
Henrik Rydgård a80756574c Fix really wacky edge case when switching to Auto FrameSkip from "skip buffered" mode.
Fixes issue #20596
2025-07-08 20:08:23 +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 f0b0457fea More minor fixes 2025-05-26 19:40:31 +02:00
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