On Tue, 2007-01-30 at 10:24 +0100, Ulrich von Zadow wrote:
> 
> I've been trying to get handling of vertical blank waits working on an
> i945 (Mesa 6.5.1 using the i810 driver) without success. Specifically,
> WaitVideoSyncSGI causes waits that are much too long when used to wait
> for more than one vblank (i.e. WaitVideoSyncSGI(2, 0, &count) results in
> about 3 frames a second). Waiting for one vblank works. The same code
> works on old matrox r200 cards.

Have you considered using glXSwapIntervalSGI() instead? With the i915tex
driver as of Mesa 6.5.2, this will schedule buffer swaps so long as
glXSwapBuffers() is called in time, so it returns immediately and the
driver only blocks when it needs to grab the hardware lock while the
buffer swap is pending. The buffer swap is then triggered by the
vertical blank interrupt, so it's very unlikely to tear. This even works
independently on both heads of a MergedFB / RandR 1.2 multihead setup.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to