On Tue, 18 Feb 2003, Leif Delgass wrote: > > My memory is failing: this might still be usefull for Xv, isn't it? > > Maybe, maybe not. DMA for XVideo seems to be of questionable value, > judging from the Rage 128 driver. Plus the fact that you have to > wait/sync when switching between GUI masters and system masters. I've > used interrupts to test page flipping with vsync. However, this is also > of questionable utility. Page flipping without vsync doesn't really buy > anything, since it has to be done synchronously (block until the vertical > counter resets).
What I meant to say here is that page flipping without vsync _interrupts_ on mach64 doesn't buy you much. It's not possible to do page flipping _without_ syncing the flip to the refresh on mach64. Doing it without interrupts means polling the vertical counter: either block until the counter resets, or poll whenever you have new buffers to see if you can commit them. The latter is not much different from my interrupt method. I got interrupts working using an atomic commit flag that's set on vblank and checked when adding buffers to the ring, since I was getting lockups trying to do the commit in the bottom half. Ideally, you would commit the ring in the bottom half, so the card can work in the time between the interrupt and the arrival of the next buffer from the client. > One advantage is that it seems to smooth out some of the stutters in > rendering as well as eliminating tearing, but at the cost of reducing > the framerate if the app can't keep up with the vertical refresh. Most > apps on mach64 (other than gears) don't fall into that category. :( To clarify, here I meant that most apps fall in the category of having a framerate _slower_ than the refresh. -- Leif Delgass http://www.retinalburn.net ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel