Commit Graph

72 Commits

Author SHA1 Message Date
BearOso 008cbcd1a1 Vulkan: Simplify set_vsync. Remove relaxed fifo.
It looks like relaxed fifo tears when refresh rate doesn't
match because it always misses a refresh interval.
2024-06-13 16:17:36 -05:00
BearOso 3980a9d6d4 Vulkan: Fix inverted logic. 2024-06-13 15:56:04 -05:00
BearOso 5c78493f4e Vulkan: Add device wait back to swapchain recreation. 2024-06-13 14:39:36 -05:00
BearOso 33e40a8f16 Vulkan: Refactor present modes. Add relaxed. 2024-06-13 11:37:00 -05:00
BearOso 2e25b70cf0 Vulkan: Associate new fence with swapchain image, not frame resources. 2024-06-13 11:16:36 -05:00
BearOso 5949bbab97 Vulkan: Utilize VK_EXT_swapchain_maintenance1.
This is core in Vulkan 1.1.

We can now change vsync state without a new swapchain.

A fence is signaled when image is on screen, so we can possibly
be a little more precise with timing and avoid a whole device wait.
2024-06-12 16:54:13 -05:00
BearOso 99990af31e Vulkan: Don't use mailbox for vsync case. 2024-06-11 18:04:35 -05:00
BearOso c02ee4373e Vulkan: Refactor device acquisition for cleanness. 2024-06-11 16:07:38 -05:00
BearOso 4f1a2d9c29 Vulkan: Remove exception handler/old swapchain use.
Exceptions are now turned off anyway.
2024-06-11 16:06:30 -05:00
BearOso 51b6528224 Vulkan: Fix a couple of unsigned/signed warnings. 2024-05-04 15:43:54 -05:00
bernborgess 3c09b1ea63 Fixed semicolon in vulcan_context.cpp 2024-04-20 09:23:21 -03:00
BearOso bb905521df Vulkan: Simplify some code. 2024-04-19 16:29:09 -05:00
BearOso 8750a9ec26 Vulkan: Silence some warnings. 2024-04-17 17:12:51 -05:00
BearOso 130942f578 Vulkan: Fix compile issues on Windows because of min/max. 2024-04-13 11:06:14 -05:00
BearOso 46c6bd7eb4 Vulkan-Hpp: Don't use exceptions. 2024-04-12 18:47:16 -05:00
BearOso 68af8fe783 Vulkan/Wayland: Use old swapchain size if none provided. 2024-02-07 18:41:36 -06:00
BearOso b8d0b8ec9e Fix some unsigned/signed comparisons. 2023-10-10 19:44:06 -05:00
BearOso 397cb98347 Vulkan: Remove out-of-date message from exception handler. Clean up a bit. 2023-10-10 19:38:56 -05:00
BearOso 58bdb3efa0 Vulkan: Use mailbox when available. Suppress debug messages. 2023-10-09 15:01:35 -05:00
BearOso e3f1790711 Vulkan/Gtk: Make instance creation fail more robust. 2023-10-09 14:15:46 -05:00
BearOso f7ddc412f9 Vulkan: Catch out-of-date exception on swapchain acquire. 2023-09-04 18:57:35 -05:00
BearOso 67b6d47c09 Vulkan: Catch out-of-date on present that vulkan.hpp throws. 2023-09-04 14:00:03 -05:00
BearOso 02cb6dc319 Vulkan: Set graphics queue on swapchain creation. 2023-09-04 13:45:16 -05:00
BearOso 5314bc8db0 Vulkan: Check image extents for surface compatibility. 2023-09-04 11:56:10 -05:00
BearOso 7ad393572f Vulkan: Catch swapchain create exceptions. Don't try to use immediate present mode if not supported. 2023-09-04 11:37:28 -05:00
BearOso 2fd8b52163 Qt: More updates. 2023-08-25 11:47:29 -05:00
BearOso 3f0f246028 Fix context resizing and joystick detection. 2023-08-25 11:47:29 -05:00
BearOso dd2072b28e Fix silence adder. 2023-08-25 11:47:29 -05:00
BearOso 7f20a93637 Don't double-wait. 2023-08-25 11:47:29 -05:00
Idiot f1837aa04f Proper sleep implementation for Windows. 2023-08-25 11:47:29 -05:00
Idiot faaf900eb7 More precise std::chrono throttle implementation. 2023-08-25 11:47:29 -05:00
BearOso 5e021b1abc OpaquePaintEvent. 2023-08-25 11:47:29 -05:00
BearOso 744f69a264 Windows changes. 2023-08-25 11:47:29 -05:00
BearOso 7b6ba01760 Vulkan: Change timeouts to be more reasonable.
Report when timeout fails.
2023-08-25 11:47:29 -05:00
BearOso 1b1325066b Qt port. 2023-08-25 11:47:29 -05:00
BearOso 2afe4a11d4 CI acting funky. See if this fixes it. 2023-05-01 11:38:54 -05:00
BearOso b383b94c8c slang: Fix CI build. 2023-04-30 17:18:39 -05:00
BearOso 8f3595e5d3 gtk/vulkan: Use imgui. 2023-04-25 17:36:48 -05:00
BearOso bfdbc28357 vulkan: Actually submit one-time command buffer. 2023-04-17 15:42:28 -05:00
BearOso 3c50e995ee Win32: Allow the Vulkan driver to fail at the loader stage. 2023-03-24 14:39:31 -05:00
BearOso f9374e527b Update glslang to bleeding edge. 2023-03-10 17:24:40 -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 d8584b9d94 slang: Fix race condition to initialize glslang. 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 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 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