Op 24-07-13 21:59, Keith Packard schreef: > Maarten Lankhorst <[email protected]> writes: > >> One of the things that bug me in dri2 is that I have to use the absolute >> frame number in the swapbuffers call. >> This breaks when moving a window from 1 screen to another. And for example >> mesa/src/gallium/auxiliary/vl/vl_winsys_dri.c >> has to deal with converting time to frame number, which breaks if a window >> is moved to another crtc. Instead of scheduling >> frames with absolute frame number, could a system time like CLOCK_MONOTONIC >> be used instead, and have the kernel >> drm layer round this to the nearest frame? > Present creates a per-window MSC domain, which moves with the window as > it switches screens automatically, so you should be able to at least > consistently schedule swaps across monitors. > > Using CLOCK_MONOTONIC does have a certain appeal though; the trouble > here is that applications would essentially have to phase-lock the > system clock with the video clock to avoid occasional glitches. > drm_calc_vbltimestamp_from_scanoutpos already uses CLOCK_MONOTONIC for the timestamps afaict. If you round to the nearest frame I don't see how you could possibly get glitches.
~Maarten _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
