swapchain: add pl_swapchain_start_frame_ex API
Hopefully the design of this is OK. I ended up just making it sort of a wrapper around start_frame
and putting all the hard work into start_frame_common
functions (open to a better name for these). To account for any sort of generic parameter that someone may want, I made a pl_swapchain_params
struct that gets passed down the fns
. To do the fancy stuff, it's just start_frame_ex
instead of start_frame
. I say fancy, but only one thing is actually different (the actual vulkan timeout implementation could be split out to a separate commit maybe?).
Sidenote: hilariously, the timeout doesn't actually work on wayland because mesa is broken which was my original motivation but oh well. Also, does some API version number somewhere need to be bumped?