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...

Attachment: 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

Reply via email to