Here's an updated patchset for the DRI2 swapbuffers code. There are still some outstanding issues, but I made some changes to the interfaces and refreshed the patches against more recent X server and Mesa bits.
The main open issue at this point is how to handle getting the new buffers. The current code has the DRI2SwapBuffers request return the new set, and uses a new setBuffers callback internally to Mesa to update the render buffers. Kristian thought we might be able to use getBuffers instead, after invalidating the current drawables, but I still haven't figured out a good way to do that. There are also some bugs left unfixed here: - X server should fall back internally to CopyRegion if the swap fails to avoid extra round trips - 2D driver loses track of the front buffer in some cases (e.g. starting glsync -sb -w 1024 -h 600 on my 1024x600 screen under compiz leads to corruption) - 2D driver rotation handling isn't correct (though I hope we can replace the rotation stuff with a flip in the KMS case, since that will prevent tearing) - kernel driver still races between updating the front buffer and adding the object to the completion list, should be easy to fix though That's all I'm aware of however. It works really nicely in the simple case now, and I've changed the ioctl to be KMS-only. It now just takes a CRTC id and an FB id, and does all the lookup & pin handling in the kernel. -- Jesse Barnes, Intel Open Source Technology Center ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel