El Sun, 20 Aug 2006 06:59:47 -0400
"Timothy Miller" <[EMAIL PROTECTED]> escribio:

[...]

> Here's an example:  Many drawing engines have an "I am completely
> done" interrupt.  DMA hardware and software use that to set up the
> transfer for the next block of commands.  In the mean time, the GPU is
> IDLE.  Just sitting there wasting time.  What if we wanted an
> interrupt that said "I'm nearly done; go ahead and set me up for some
> more commands"?  The only drawing engine I know of that does this is
> the one I designed for Tech Source.  If you were to base your API
> around existing GPU designs, you would be forever unable to take
> advantage of this unusual feature, and you'd lose out on a potentially
> significant performance boost.

[...]

About this DMAs usually have a pair of registers(address, count) that you can 
read or write and between this and the bus the counters that generate addresses 
for the transfer and stop transfer when zero. In the comodore amiga you can 
program audio(and others i think) DMAs so that when the count end it reload 
counters from registers and generate an interrupt.

So you do:
- Get a pair of buffers
- Fill the buffers
- Program DMA with one buffer
- Start the transfer
- Program DMA with other buffer without stop transfer in progress(simply wrote 
address and count without touching control reg)
- Wait for the interrupt

When you get the interrupt you known that the DMA is transfering the second 
buffer and the first is transfered and empty so you:
- Reuse the empty buffer
- Program DMA with not in use buffer whitout stop transfer in progress

In this way you do not get idle sound(in amiga case) and the procesor do the 
minimum work possible.

Can this be applied here?

Is it used by someone?

sorry i am one amiga fan :P

Diego

Attachment: pgpbGRCUWFef3.pgp
Description: PGP signature

_______________________________________________
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