Commit Graph

2270 Commits

Author SHA1 Message Date
BearOso 608f8b7137 win32: Make snapshot preview window work in fullscreen.
This could be system specific, but it works for me now.
2023-03-10 17:56:53 -06:00
BearOso a4b4b98fff Update SPIRV-Cross to bleeding edge. 2023-03-10 17:26:35 -06:00
BearOso f9374e527b Update glslang to bleeding edge. 2023-03-10 17:24:40 -06:00
BearOso 3d22cc7f2d Add vulkan headers back as a submodule. 2023-03-10 17:08:12 -06:00
BearOso 120d715e3a Remove vulkan-headers from tree directly. 2023-03-10 17:04:32 -06:00
BearOso b4b2007529 win32: Fix compilation errors with VS/Clang. 2023-03-10 14:32:10 -06:00
BearOso cd57135d9a win32: Better solution for registry entries.
Add by default, but remove them when box is unchecked.
2023-03-08 14:40:15 -06:00
BearOso 036fa5a951 win32: Ask about registry keys on first start. Also...
add a command-line option to remove these keys.
2023-03-08 14:31:55 -06:00
BearOso 879134ca5a snapshot: Keep compatibility with version 11. 2023-03-08 13:33:15 -06:00
Michael Buckley cea5148166 Fix Mac build after Vulkan changes 2023-03-08 10:23:32 -08:00
BearOso b293366fdf Gtk: Remove meson remnant. 2023-03-07 14:50:23 -06:00
bearoso 2dfdfa3b0d
Merge pull request #818 from snes9xgit/vulkan
Merge Vulkan branch into master.
2023-03-07 14:45:51 -06:00
BearOso 33cab01c15 SA1: Map 7e-7f to none. 2023-03-07 14:37:05 -06:00
BearOso e9f8b9925f Gtk: Refresh window canvas when first displayed.
Wayland/OpenGL doesn't receive a redraw cue after Gtk resizes the
window and it scales a 256x224 corner of the larger surface up with
the viewport extension.
2023-03-07 14:06:59 -06:00
BearOso b258636054 win32: Fix a couple of standards problems. 2023-03-07 14:01:29 -06:00
BearOso 1b10ca7ab0 Gtk/OpenGL: Remove npot variable. 2023-03-07 14:01:29 -06:00
BearOso 1f59744ab9 Gtk/Wayland: Don't require libwayland >= 1.20.
Used old version of wayland-scanner to generate protocol files.
2023-03-07 14:01:29 -06:00
BearOso 925c8ff2ea Pass offset onto patch function. 2023-03-07 14:01:29 -06:00
BearOso 790962f2bb Gtk: Add missing Wayland protocol files. 2023-03-07 14:01:29 -06:00
BearOso aa2a46f87b Gtk/OpenGL/Wayland: Support fractional scale. 2023-03-07 14:01:29 -06:00
BearOso f1286eda4c Gtk/Wayland: Support fractional scale. 2023-03-07 14:01:29 -06:00
BearOso 9972e2df56 Change S9xInterlaceField to an inline function. 2023-03-07 14:01:29 -06:00
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