This adds support for TearFree page flips to eliminate tearing without the use of a compositor. It allocates two shadow buffers for each CRTC, a back buffer and a front buffer, and uses damage tracking to minimize excessive copying between buffers and skip unnecessary flips when the screen's contents remain unchanged. It works on transformed screens too, such as rotated and scaled CRTCs.
When PageFlip is enabled, TearFree won't force fullscreen DRI clients to synchronize their page flips to the vblank interval.
TearFree is disabled by default.