[Intel-gfx] [RFC] DRI2 swapbuffers & page flipping take 2

Jesse Barnes jbarnes at virtuousgeek.org
Fri Feb 13 01:49:56 CET 2009

Again, in the interest of getting a non-broken (i.e. non-tearing) GL stack 
w/DRI2 I've been working on making SwapBuffers use page flipping for full 
screen clients (like compositing managers).  This saves a full screen blit so 
should be a little faster than the current code.  There's a big downside 
though: small copies aren't sync'd, so they'll still tear.

This version adds real buffer object waiting rather than blocking the queue in 
i830_do_pageflip.  It also fixes a crash at exit time if the wrong buffer 
happened to be in place at the time (I've switched to just swapping the 
private pixmap pointers rather than the whole buffer private to make the 
DestroyBuffers xfree call work as expected).

Compiz (hacked to use swapbuffers) & glxgears work ok for me so far, and 
rotation is only partly broken now.  So it's getting a little closer to 

Jesse Barnes, Intel Open Source Technology Center

More information about the Intel-gfx mailing list