388 Commits

Author SHA1 Message Date
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