Commit Graph

2341 Commits

Author SHA1 Message Date
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
BearOso f4f7f03be3 Remove meson as build option for Gtk.
Meson isn't flexible with our port subdirectory approach.
2023-03-07 13:58:22 -06:00
BearOso 076c6bfaf4 Use length instead of size with strings. 2023-03-07 13:58:22 -06:00
BearOso b578ce434b Remove fmt from shader files. 2023-03-07 13:58:22 -06:00
BearOso 56a6396c9a Favor BGRA over RGBA. 2023-03-07 13:58:22 -06:00
BearOso 246a44a940 Error handling. 2023-03-07 13:58:22 -06:00
BearOso fd3a9dba14 Fix a couple validation issues. 2023-03-07 13:58:22 -06:00
BearOso 2c7d5f7a4d Working Win32/Vulkan shader support. 2023-03-07 13:58:22 -06:00