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)

Reply via email to