Path: utzoo!attcan!uunet!super!udel!rochester!cornell!mailrus!ncar!ames!oliveb!amiga!boing!dale From: dale@boing.UUCP (Dale Luck) Newsgroups: comp.sys.amiga.tech Subject: Re: Unsupported Programming Practices Message-ID: <595@boing.UUCP> Date: 17 Jan 89 19:20:23 GMT References: <8901060406.AA22607@postgres.Berkeley.EDU> <84277@sun.uucp> <13389@cup.portal.com> <3669@tekig5.PEN.TEK.COM> Reply-To: dale@boing.UUCP (Dale Luck) Organization: Boing, Milpitas, Ca. Lines: 44 In article wayneck@tekig5.PEN.TEK.COM (Wayne Knapp) writes: > MyBlitRoutine( ...) > { > OwnBlitter(); > Compute blitter register values /* let Blitter still run */ > WaitBlit(); > set blitter registers. > DisownBlitter(); > } > Wayne Knapp In general we try to minimize the time we Own the Blitter, it is a scarce but often used resource. Nearly all the amiga graphics routines do something similar to this. { Compute blitter register values OwnBlitter WaitBlit set blitter registers DisownBlitter } In a multiplane blit we use: { Computer blitter registers that do not change between planes such as modulos, blitsize, bltconx's, fw/lwmask, etc. OwnBlitter WaitBlit load non changing blit registers for each plane to blit compute new changing blit registers such as ptrs to bitplanes WaitBlit load registers that need to be reloaded per blit. zap bltsize (starts the blit) endforeach DisownBlitter } -- Dale Luck GfxBase/Boing, Inc. {uunet!cbmvax|pyramid}!amiga!boing!dale