On Tuesday, April 21, 2015 05:58:44 PM Kenneth Graunke wrote: > Based on code by Keith Packard, Eric Anholt, and Jason Ekstrand. > > v2: > - Fix double free and flip_count underrun (caught by Mario Kleiner). > - Don't leak flip_vblank_event on the error_out path (Mario). > - Use the updated ms_flush_drm_events API (Mario, Ken). > > v3: Hack around DPMS shenanigans. If all monitors are DPMS off, then > there is no active framebuffer; attempting to pageflip will hit the > error_undo paths, causing us to drmModeRmFB with no framebuffer, > which confuses the kernel into doing full modesets and generally > breaks things. To avoid this, make ms_present_check_flip check that > some CRTCs are enabled and DPMS on. This is an ugly hack that would > get better with atomic modesetting, or some core Present work. > > v4: > - Don't do pageflipping if CRTCs are rotated (caught by Jason Ekstrand). > - Make pageflipping optional (Option "PageFlip" in xorg.conf.d), but > enabled by default. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
Upon further testing, there are still nasty DPMS bugs affecting this patch. We no longer crash the X server, but clients appear to occasionally get stuck. I guess we just need to bite the bullet and unflip on DPMS off. Or switch to atomic modesetting...
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel