Commit Graph

419 Commits

Author SHA1 Message Date
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 f703bc69c4 Analog stick autorotation now uses game timing.
Should fix frameskipping problem, where this didn't work in God of War
if frameskipping was on.
2026-03-31 11:14:48 -06:00
Henrik Rydgård b4646a49d5 Blacklist the "MMPX Advanced" texture upscaler on mobile GPUs. 2026-03-13 09:04:27 +01:00
Henrik Rydgård eb234a1563 Finish the split. Greatly simplifies the render code in EmuScreen. 2026-02-08 10:46:16 +01:00
Henrik Rydgård f01aaeafb1 Split CopyDisplayToOutput in preparation for the next step 2026-02-08 01:06:32 +01:00
Henrik Rydgård c8db8463f2 Some cleanup of the frameskipping setting. Avoid having Auto Frameskip reset the frameskip setting to 1. 2026-01-19 17:44:00 +01:00
Henrik Rydgård 64461329e7 More minor fixes and cleanups 2026-01-02 14:20:20 +01:00
Henrik Rydgård 75020e2ed7 Add ability to put icons on tabs 2025-11-05 14:42:49 +01:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
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