Commit Graph

495 Commits

Author SHA1 Message Date
BearOso bd41d010f3 Qt: Attach cheats dialog directly to Snes9x.
Update sizing for cheats and shader params dialogs.
2023-08-25 11:47:29 -05:00
BearOso 81efc82f88 Move formerly Gtk sound drivers to common directory. 2023-06-07 16:06:55 -05:00
BearOso 8c5b6d012e Gtk: Simplify drivers by moving port code to gtk_sound.cpp. 2023-06-07 15:34:10 -05:00
BearOso 9a0712b258 Gtk: Rename frontend-common to common and move files to video subfolder. 2023-06-07 11:31:24 -05:00
BearOso fa20cd2d19 Gtk: Use glad instead of epoxy. 2023-06-01 15:57:03 -05:00
BearOso cb6df570a4 Gtk: Make wayland surfaces toolkit-agnostic. 2023-05-31 17:08:52 -05:00
BearOso 53ebf7be8f Gtk: Fix ROM info dialog when name is JIS. 2023-05-08 14:19:03 -05:00
BearOso ff35034cf7 Revert "Gtk: Disable ROM info at start."
This reverts commit 354f9cbcab.
2023-05-08 12:39:33 -05:00
BearOso 354f9cbcab Gtk: Disable ROM info at start. 2023-05-07 16:38:45 -05:00
BearOso 8d8e691c89 Gtk: Add OSD ImGui check back. 2023-05-06 10:16:10 -05:00
BearOso 03ac459bb1 Gtk: Remove custom in-screen font code. 2023-05-04 16:07:48 -05:00
BearOso ebf2e9981e win32: Get win32 working with variable font. 2023-05-04 15:55:11 -05:00
BearOso b11ecf932a imgui: Update font. Test ROM status line. 2023-05-03 16:45:56 -05:00
BearOso 945cd27841 Gtk: Add UI option to configure size, indicators. 2023-04-25 17:36:48 -05:00
BearOso 909d899512 Gtk/OpenGL: Add imgui support. 2023-04-25 17:36:48 -05:00
BearOso 8f3595e5d3 gtk/vulkan: Use imgui. 2023-04-25 17:36:48 -05:00
BearOso e55b13315b Gtk: Tweak sound drivers for better performance. 2023-04-02 12:47:08 -05:00
BearOso 79e150886a Add ability to force backdrop color for sprite extraction.
Only Gtk hotkey is hooked up so far.
2023-03-31 17:09:23 -05:00
BearOso 5157426cb6 Gtk: Use translated binding names in preferences. 2023-03-21 17:45:39 -05:00
BearOso 8593d9014b Gtk: Fix xgettext missing a few strings. 2023-03-21 17:32:08 -05:00
BearOso e34097ecdf Gtk: Only adjust the numeric locale with file reads. 2023-03-21 16:47:39 -05:00
BearOso e1eb7ea9de Gtk: Fix up some internationalization problems. 2023-03-21 15:45:16 -05:00
BearOso 50f9f9eba1 Move S9xSyncSpeed call.
DMA can last multiple frames, and so can S9xMainLoop.
If we throttle outside of S9xMainLoop or only as we're exiting the
loop as is currently done, we zoom through multiple frames and
overrun the audio. Moving S9xSyncSpeed just after EndScreenRefresh
causes it to be called every frame.

This seemingly wasn't a problem because throttling with vsync *did*
happen every frame regardless. Oops.
2023-03-20 16:02:36 -05:00
BearOso 176556dfd3 Add menu items to scale windows up to 10x. 2023-03-12 11:10:02 -05:00
BearOso 22e0b373e4 Gtk: Add clear recent items item. 2023-03-11 17:46:40 -06:00
BearOso 87bb383797 Gtk: Multiple assignment syntax. 2023-03-11 16:47:07 -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 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 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