Commit Graph

583 Commits

Author SHA1 Message Date
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 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 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 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 6ae1a4478e Gtk/Vulkan: Handle failure to acquire swapchain image. 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 130e1509da Revert "vulkan/slang: Allow a cache for spv."
This reverts commit db554aa8cd62f083b93d4b2e7147c5d2500366d9.
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 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 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 2fb67c7329 Gtk: Clean up asan leaks. 2023-03-07 13:58:22 -06:00
BearOso c3366477a7 Gtk: Lower CMake required version. 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 246a44a940 Error handling. 2023-03-07 13:58:22 -06:00
BearOso e4768f9b80 Wayland compatibility with Vulkan. 2023-03-07 13:58:21 -06:00
BearOso fa03a2c5b2 Gtk: Remove some superfluous graphics options.
PBOs aren't generally faster any more.
NPOT textures are widely supported.
Giving control over to Gtk while waiting for a swap doesn't really work
that well, so the sync control extension options are removed.

This means the OpenGL and Vulkan backends are in parity with regard to
options.
2023-03-07 13:58:21 -06:00
BearOso 259dfd07ae Vulkan support.
Gtk port support. Breaks other platforms.
2023-03-07 13:58:21 -06:00
BearOso 109fedf42c Gtk: Convert driver setting to a string. 2023-03-07 13:58:21 -06:00
BearOso 6433b8f689 Gtk: Clean up and modernize a bit. 2023-03-07 13:58:21 -06:00
BearOso 2e39f2f477 Modernize cheat stuff. 2023-03-07 13:58:21 -06:00
BearOso c69552ccff More cleaning. 2023-03-07 13:58:21 -06:00
BearOso 596e84af2a Start simplifying filesystem stuff. 2023-03-07 13:58:21 -06:00
BearOso 4a3f7b4d84 Gtk: Use more std::filesystem. 2023-03-07 13:58:21 -06:00
BearOso b9bb200a78 Gtk: Reorganize some of startup. 2023-03-07 13:58:21 -06:00
BearOso 453bbbe779 Update glslang. Fix meson build. 2023-03-07 13:58:21 -06:00
BearOso 19c7ce56e0 Gtk: Use fmt for string. 2023-03-07 13:58:21 -06:00
BearOso 375a263961 Gtk: Stringify some things. 2023-03-07 13:58:21 -06:00
Gutawer 7321eb3320 Gtk: Fix some keys not being usable with modifiers 2023-01-25 17:04:25 +00:00
Nick Burtner 86ab38408c Fixes issue where non-archive msu-1 files would have improper file extensions 2022-11-01 17:50:21 -04:00
BearOso 8c0a4a4168 Gtk: Fix replacing last directory component instead adding filename 2022-04-30 12:37:07 -05:00
BearOso f3fafab8b3 Remove unused logger.cpp and logger.h. 2022-04-25 15:45:39 -05:00
BearOso 3c729a9763 Gtk: Remove option to disable OpenGL.
OpenGL is the optimal display mode until Vulkan is in, and it's
mandatory on Wayland. Don't let it be disabled.
2022-04-19 17:22:42 -05:00
BearOso 1085ed6fad Remove Settings.SupportHires
There's no point in disabling it at this point, so it's always supported.
2022-04-13 15:06:13 -05:00
BearOso aa6abace40 Create output buffer in core.
TODO: Fix Windows.
2022-04-10 16:41:16 -05:00
BearOso 784667f5b2 Gtk: Update gtk_file.cpp for modern C++
Uses std::filesystem and std::string.
2022-04-09 17:19:01 -05:00
BearOso b759ebbf19 Gtk: Lower meson required version. 2022-03-24 16:37:35 -05:00
BearOso 8b0cc9ae52 Gtk: Add missing CMake options. 2022-03-24 16:33:20 -05:00
BearOso a4cf41e879 Gtk: Add CMake as build option. 2022-03-24 12:21:52 -05:00
BearOso 17cb084df0 Gtk: Experiment with symlink. 2022-03-22 14:09:30 -05:00
BearOso fe5fbb0c80 Gtk: Fix compile with moved deps. 2022-03-18 15:49:54 -05:00
BearOso a8fafcd94c Gtk: Clean up a couple sound drivers.
Make them more idiomatic C++.
2022-03-12 11:19:39 -06:00
BearOso 1041ff3e24 Gtk: Add Ukrainian translation from StanleyKid-22. 2022-03-01 18:22:03 -06:00
BearOso 8f5afb1013 gtk: Initialize jd 2022-02-19 13:22:20 -06:00