On Wednesday 02 February 2005 15:48, Timothy Miller wrote: > Well, you do have a point that it might be good to suspend data > movement so that more rendering can be done...
A completion notification scheme would also be required, presumably an outbound ring buffer much like the inbound one but smaller. Note, this isn't a suggestion for the current design, but probably worth anticipating at least on paper. > but usually, you're > not uploading textures so far in advance that you aren't going to > have to wait on the upload anyhow. Current games are mostly written as you say, but in-game texture loading is becoming increasingly common. > Furthermore, you'd often want to > download something which you've just rendered to, necessitating a > flush of the pipeline and no drawing until the download is done. This scheduling could be handled by the host: geometry that depends on a texture that is not yet loaded is not submitted until texture loading is complete. Again, just a paper suggestion, there's no pressing need. > Yes, it's possible to schedule things more efficiently, and > interleaving different operations would indeed help with that, but > I'd guess that the majority of cases would have end up being > sequential anyhow. Yep, and it's easier, so... > It won't be fun trying to make sure that you're not currently in the > process of using a texture when you decide to swap it out. It's much > simple just to wait for the pipeline to flush before doing memory > management. And wait on the memory management before you do > rendering again. It's not too hard to do it on the fly, for example, you could put a marker token in the command buffer that just gets echoed to the (postulated) result buffer when the current triangle completes. The driver picks a texture for eviction, puts the marker in the command buffer, and actually recovers the card memory when the marker reappears in the result buffer. Regards, Daniel _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
