When Async mode was added, regular old Sync mode for copies was broken -- it ended up getting executed immediately, causing tearing.
[PATCH 1/3] present: Handle PresentOptionAsync for copy mode Patch 04e138846e left flips on the per-window queue after they'd been sent to the hardware. This let them match new requests for the same MSC value and caused the pending flip pixmap to be marked as idle and re-used by applications, generating quite the damage on the screen. Only visible with vblank_mode=0 though. [PATCH 2/3] present: Don't abandon presents which are already queued Present is supposed to tell applications when their request never made it to the screen because it was replaced with a more recent request for the same MSC, but the code wasn't ever actually sending it. [PATCH 3/3] present: Set complete notify mode to Skip as needed _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
