Commit Graph

378 Commits

Author SHA1 Message Date
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
Henrik Rydgård 42ce619705 Vulkan fastforward: Check the current presentation mode instead of the Vsync setting.
After 1.15, I'm gonna clean up the presentation mode/vsync management
across the code base. This works around #17308 for now.
2023-04-26 12:02:42 +02:00
Henrik Rydgård ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Henrik Rydgård 9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik Rydgård c2c479b217 Remove function InitClear. Was only implemented for DX9, and only barely meaningful in non-buffered. 2023-02-25 16:32:50 +01:00
Henrik Rydgård 519db766b6 Change "Rendering Mode" to just a "Skip buffer effects" checkbox. Reuse translations. 2022-11-06 19:26:56 +01:00
Henrik Rydgård 1b3b1acefa Tweak ForceMax60Fps to work for Killzone 2022-08-30 20:10:44 +02:00
Lubos 2887671e6f OpenXR - Refactor display framerate 2022-08-17 16:55:19 +02:00
Lubos cc3981a328 OpenXR - 72Hz support added 2022-08-05 15:14:21 +02:00
Henrik Rydgård d2002eab39 Merge pull request #15640 from LunaMoo/master
Disable ForceMax60FPS for GOW games and replace it with fixed 60 fps
2022-07-10 23:25:35 +02:00
Unknown W. Brackets c15c4a6967 UI: Add analog speed limit mapping.
Only shows up as a setting if mapped, to avoid cluttering settings.
2022-07-04 19:14:05 -07:00
LunaMoo 0dcf8242f5 Add Fixed60FPShack for GOW, should work smoother than the ForceMax60FPS.
Also more stable than it's CWCheat version, unfortunately because of that,
still causes softlock in GOW:GOS vortex stage.
2022-07-02 19:39:35 +02:00
Unknown W. Brackets bbbb154da0 Display: Ignore lagsync when auto frameskip on.
The delays in lag sync will only confuse the frameskipping code,
because it will interpret the intentional delays as need for skipping.

In theory, frameskip could ignore the lag sync time, but it would still
make frameskip far less effective.
2022-05-10 17:06:09 -07: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
Unknown W. Brackets dc843c258d Display: Prevent lock around listener calls.
Fixes #15123, crash in Bleach: Soul Carnival 2.
2021-11-10 19:30:25 -08:00
Unknown W. Brackets 1532a729d7 Core: Allow forcing debug statistics collection.
Useful for remote debugging.
2021-10-19 10:01:41 -07:00
Unknown W. Brackets a06efdd222 Display: Allow threadsafe listeners.
Also add a flip listener.
2021-10-19 10:01:40 -07:00
Unknown W. Brackets e1d261b707 Display: Remove frameskip fast-forward mode.
Fixes #13546.
2021-10-12 20:38:57 -07:00
Unknown W. Brackets 4c0951eb93 Display: Avoid skipping flips at 60 FPS.
If the device is 58 or 59 FPS, let's just assume it's better to flip each
time.
2021-10-03 07:04:04 -07:00
Unknown W. Brackets 9024c7111b Vulkan: Fix faster alt speed with vsync. 2021-09-14 22:53:54 -07:00
Unknown W. Brackets 46770aba3a Vulkan: Skip flips, not draw, for vsync unthrottle. 2021-09-14 22:35:32 -07:00