>So, how do you delay the flip-blit to the vblank but NOT delay other
>rendering?

You would delay rendering from that ring. There are 2 rings on i810
(Only one gets used by XFree/DRM).

Depending on what you are trying to achieve, that may be what you want.
If you used an interrupt to indicate vblank, and expected to do a
Blit at that time, how would you get your blit to happen ASAP? You
May have quite a lot of stuff in the ring buffer ahead of the blit,
And therefore you cannot know that it will happen within the blank.

To solve that problem you'd have to use the second ring bufffer, it
Gets priority and would make sure your blit happened next....but
If you were going to do that you would have been better off putting
A "wait for Vblank; blit" in that ring to begin with and saved
Yourself the trouble.

Also, doing your blit asynchronous to the main command stream leads to
command order problems. Usually you want to insure that all prior commands
were done before the blit and that no following commands have started. All
your following commands have to wait anyway so it isn't a big deal that the
whole ring is stalled.  If you've got multiple threads drawing totally
different things then, you're right, stalling the ring would impact overall
performance.

 -Matt



-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to