WIP: cogl-winsys-glx: Add a heuristically calculated presentation_time
The Nvidia driver (on Xorg) lacks presentation timestamps. They're always zero. This means it can unpredictably fall into triple or quad-buffering resulting in high latency and irregular stutters (when the buffer queue fills up and blocks). This branch adds heuristically calculated presentation timestamps so that doesn't happen anymore.
Not only is latency now lower, but keeping at least one free slot in the buffer queue avoids swapbuffers from blocking, which avoids stalling the whole shell.
Closes: #1273 (closed), #1287 (closed), #1291 (closed), #818 (closed)
Edited by Daniel van Vugt