Commit Graph

13 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 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 130942f578 Vulkan: Fix compile issues on Windows because of min/max. 2024-04-13 11:06:14 -05:00
BearOso 3f0f246028 Fix context resizing and joystick detection. 2023-08-25 11:47:29 -05:00
BearOso 744f69a264 Windows changes. 2023-08-25 11:47:29 -05:00
BearOso 8f3595e5d3 gtk/vulkan: Use imgui. 2023-04-25 17:36:48 -05: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 23cf7ec056 Restrict max latency to 3 frames. 2023-03-07 13:58:21 -06:00
BearOso e4768f9b80 Wayland compatibility with Vulkan. 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