Commit Graph

2298 Commits

Author SHA1 Message Date
BearOso daf8fba09c Remove extra variables for interlace field.
Keeping unsynchronized copies around is just asking for trouble.
Instead, use a macro to check the actual memory address.
2023-03-07 14:01:29 -06:00
BearOso 7a7e5226cc Gtk: Set auto_vrr to false by default. 2023-03-07 14:01:29 -06:00
BearOso 1434dce671 Gtk: Add setting to configure for VRR automatically.
Swaps to ideal config for VRR in fullscreen. Switches sound
input rate and frame rate to exact SNES rate and uses timers for
sync.
2023-03-07 14:01:29 -06:00
BearOso a6560f70b5 win32: Remove need for DirectXMath.
It only compiles with VC.
2023-03-07 14:01:29 -06:00
BearOso 6ae1a4478e Gtk/Vulkan: Handle failure to acquire swapchain image. 2023-03-07 14:01:29 -06:00
BearOso 39e21410d8 win32: Make changes to display driver not occur until restart. 2023-03-07 14:01:29 -06:00
BearOso 803125ffe9 win32: Move frame throttle into drivers for precision. 2023-03-07 14:01:29 -06:00
BearOso 309f9e650d vulkan: Move throttle out of swapchain.
Make the swapchain wrapper more flexible, allowing deferring the
swap from the end_frame function.
2023-03-07 14:01:29 -06:00
BearOso b82edaac96 vulkan: Add a throttler before present for precise frame rates. 2023-03-07 14:01:29 -06:00
BearOso 1d0dab45da win32: Flush message queue between driver changes. 2023-03-07 14:01:29 -06:00
BearOso d8584b9d94 slang: Fix race condition to initialize glslang. 2023-03-07 14:01:29 -06:00
BearOso 1907b9e25b win32: Tweak busy loop/sleep balance a bit. 2023-03-07 14:01:29 -06:00
BearOso daf4a60b65 win32: Fix CPU usage with new throttle. 2023-03-07 14:01:29 -06:00
BearOso e923382395 win32: Replace timer-based throttling.
The old code used low-res timers that would vary by at least 3ms and
couldn't handle freesync/gsync's needs. So I removed the old
time API calls and interrupt and did a rudimentary throttle with QPC.

This may break NetPlay. Nobody (sane) will ever notice.
2023-03-07 14:01:29 -06:00
BearOso 130e1509da Revert "vulkan/slang: Allow a cache for spv."
This reverts commit db554aa8cd62f083b93d4b2e7147c5d2500366d9.
2023-03-07 14:01:29 -06:00
BearOso 7e41394eea Revert "Add xxhash header."
This reverts commit 968dd520c25691388eebb8cdf31502814a540074.
2023-03-07 14:01:29 -06:00
BearOso e9ca336028 Add xxhash header. 2023-03-07 14:01:29 -06:00
BearOso 8907541f28 vulkan/slang: Allow a cache for spv. 2023-03-07 14:01:29 -06:00
BearOso 1c787cd309 slang: Remove remnants of using Snes9x's conffile. 2023-03-07 14:01:29 -06:00
BearOso 8e38e14ea9 Vulkan/Slang: Load shader files asynchronously. 2023-03-07 14:01:29 -06:00
BearOso 54770ef3cc win32: Try to handle race in changing drivers. 2023-03-07 14:01:29 -06:00
BearOso 4f08da4cd8 vulkan/win32: Provide reasonable default swapchain.
If extents are reported 0xffffffff, swapchain expects a provided
default size.
2023-03-07 14:01:29 -06:00
BearOso 19787b12f1 win32: Add default option to not add entries to registry. 2023-03-07 14:01:29 -06:00
BearOso 3c1d330169 Gtk: Make it possible to build without Slang/Vulkan. 2023-03-07 14:01:29 -06:00
BearOso 948506ad95 Gtk: Add dynamic rate control to SDL driver. 2023-03-07 14:01:29 -06:00
BearOso eb24fd599f apu: Clean up a bit.
Also fixes MSU not reflecting input rate setting.
2023-03-07 14:01:29 -06:00
BearOso 49b7d45fd0 libretro: Try c++14 for macOS. 2023-03-07 14:01:29 -06:00
BearOso 38603e8a0d libretro: Add -std=c++17 to macOS target. 2023-03-07 14:01:29 -06:00
BearOso cb8eae1486 cirrus.yml: Update targets.
Switch to arm and see if macos builds.
Remove psp target.
2023-03-07 14:00:36 -06:00
BearOso c7d4c2e478 win32: Clean up some warnings. 2023-03-07 13:58:22 -06:00
BearOso 2914fdf64c win32: Handle p.min properly in shader dialog.
Windows trackbars with integral values are annoying.
2023-03-07 13:58:22 -06:00
BearOso 8270c1c658 win32: Tweak the shader parameter dialog a bit. 2023-03-07 13:58:22 -06:00
BearOso 6ffca967f7 win32: Request 32-bit color on Win32/OpenGL. 2023-03-07 13:58:22 -06:00
BearOso 0bbecf042a win32: Use simple vulkan output. 2023-03-07 13:58:22 -06:00
BearOso bb210dc1a1 Gtk: Move simple vulkan output into separate class. 2023-03-07 13:58:22 -06:00
BearOso 410696ce4e Gtk: Remove SDL_GetDefaultAudioInfo. 2023-03-07 13:58:22 -06:00
BearOso 5a9e3a96b1 Oops. Don't free c, it's added to vector. 2023-03-07 13:58:22 -06:00
BearOso f67bdbef3f vulkan: Handle case when no vulkan library is available.
Use one copy of the dynamic loader, if it can't load a library,
drop out of instance creation.
2023-03-07 13:58:22 -06:00
BearOso edbffb9a53 vulkan: Keep dynamic loader around. 2023-03-07 13:58:22 -06:00
BearOso 08bf7a8696 Don't allocate 8MB for patching. 2023-03-07 13:58:22 -06:00
BearOso 2fb67c7329 Gtk: Clean up asan leaks. 2023-03-07 13:58:22 -06:00
BearOso 3bbed09867 Condense CheckForAnyPatch with lambdas. 2023-03-07 13:58:22 -06:00
BearOso db10ed33e1 Don't close zip file when checking patches. 2023-03-07 13:58:22 -06:00
BearOso bb9037fe98 Fix sequenced ips patch loading outside of zip. 2023-03-07 13:58:22 -06:00
BearOso 13eefd9944 unix: Make port compile. 2023-03-07 13:58:22 -06:00
BearOso b7704733ec win32: Fix vk_mem_alloc.h compatibility break.
Set WINVER to less than Vista to maintain compatibility with Windows XP.
2023-03-07 13:58:22 -06:00
BearOso 93a242312f win32: Fix a couple of crashes. 2023-03-07 13:58:22 -06:00
BearOso c3366477a7 Gtk: Lower CMake required version. 2023-03-07 13:58:22 -06:00
BearOso 7fa64f4781 See if this works for CI fixes. 2023-03-07 13:58:22 -06:00
BearOso 18b5a09a16 Fix libretro compilation. 2023-03-07 13:58:22 -06:00