On Saturday 19 March 2005 10:55, Attila Kinali wrote: > On Fri, 18 Mar 2005 14:24:22 -0500 > > Daniel Phillips <[EMAIL PROTECTED]> wrote: > > We have a command stream, commands have command > > fields, there may be no simple mapping between command fields and > > registers. > > Do you mean something like filling the ring buffer with > commands like: > > draw line x1,y1,x2,y2 > do dma from,to,count > blit from,to > ...
If I understand correctly, the plan (or at least one plan) is to only have DMA commands in the ring buffer. If you want to draw something, you make a list of drawing commands, and put it in DMAable memory somewhere. Then you add a command to the ring buffer that will make the card DMA that list of commands to its local drawing FIFO (or wherever it needs to go to get them executed). The drawing command set itself is limited: it does not contain any privileged commands. This way, an (unprivileged) 3D client can draw things, but not change any important settings, simply because it can not express such a request. This is what Timothy and Daniel call "indirect DMA", because the card first gets a command from the ring buffer (via DMA), and then uses that command to do a second DMA transfer which transfers the actual commands issued by the 3D program. Lourens _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
