Commit Graph

2210 Commits

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