Add support for commit-timing-v1
In the same spirit as !1026 , this is the WIP to add support for using wlroots' implementation of the commit-timing-v1 protocol.
wlroots implementation: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4617 protocol proposal: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/248
My initial thoughts on this are fear as we have never used these wlroots internals. We are not using a lot of these things, and rolling a lot of our own stuff.
I would really hope wlroots is not holding back commits from us internally based on commit_queue and commit_timing. That would not really play well with our design and how we wait on commits.
It might appear to work, but would probably have some fundamental problems with how our image waiter stuff works and result in weird swapchain starvation.
FTR, we already basically have our own version of commit timing implemented which is using the gamescope-swapchain protocol. I would feel much safer if we just hooked up commit_timing to use that.
See desiredPresentTime. The main caveat there is that is no earlier than rather than nearest, but that's probably simple enough to resolve.