-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 James Richard Tyrer wrote: > Hamish wrote: >> I had a thought... Might be a random brain fart, or it might just >> use far too too much logic, or whatever... >> >> Most interfaces I've seen that use DMA, you allocate a block of >> memory, add commands to it & then wait for the card to go idle & >> then tell the card to go for... Now with hard-drives you do >> pretty much the same. Except modern (OK, anything since early >> 90's perhaps inthe SCSI world) you can queue commands. So why not >> with the graphics card as well? >> >> Instead of telling the card about a block of commands to execute >> straight away, why not simply tell it to enqueue a block of >> commands for execution? The card then saves the address of the >> block in an SRAM block (circular buffer). The graphics engine >> itself then simply loop sthrough block after block until there >> are no more to execute. > > There are also two common methods: > > Exchange buffering > > Linked list > > which might be better. >
A linked list is definately better. Although it requires more programming around it... And would also be prone to application errors causing the graphics engine to go wandering off into never/never land executing garbage... That could probably be alleiviated somewhat if the graphics engine is made to reset to a known good state if it tries to execute an illegal instruction... (Rather than the old 6502 method of executing it anyway, More like the 68k method of raising an interrupt for illegal instruction). Hamish. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE7tS1/3QXwQQkZYwRAgdKAJ9ND1+0tZhnv+TSz5lXhm1dSh1AIQCeP/Vy YufVEHYlwx88/XAzCiI8uM0= =aUwH -----END 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)
