More 24bit optimizations (was: a just another stupid newbie :)

Jaymz Julian jaymz@artificial-stupidity.net
Tue, 16 Dec 2003 05:00:36 +1100


On Sun, Dec 14, 2003 at 12:14:51PM -0800, Keith Packard wrote:
> 
> Around 5 o'clock on Dec 15, Jaymz Julian wrote:
> 
> > hrm, it actually worked for me in fbCompiositeGeneral as well, but I guess it
> > was just two bugs cancelling each other out or something :).
> 
> You might check out fbCompositeGeneral and see how hard that would be to 
> fix; it might be quite easy, and that would be useful as we'd eliminate a 
> bunch of weird code in fbComposite.

Yea, it's reasonably easy to do this, but there's a bit of grunt work
required, since it would also need to be added to a bunch of the special case
implentations.  Once implented for mask, it should also be simple to add 
support for repeating sources in the same places, and hence remove the 
1x1 source requiring 4,000,000 calls/redraw issue.  

But I won't get to implenting this until tuesday (likely) or wednesday at 
this point, since some brainpower needs to be expended making sure I don't 
break things in the process, it can't be done while sleeping :).

It also has the side effect that supporting repeat now becomes a pre-requeiste
for an implentation of CompositeFunc, which is perhaps a larger problem, 
although in the software implentation, it's just a case of reusing the 
fbSetupRepeat() and cut/pasting the 5 lines from the main draw loop, but for 
hardware it may need thought.  Of course, a bunch of hardware supports 
repeating pixmap composites anyhow, so perhaps this is a good thing in 
itself :)

	-- jj

--
Jaymz Julian aka A Life in Hell / Warriors of the Wasteland / Unreal
Coder, Visionary, Fat Ass.
"Hannibal is a serial killer. He only likes to kill and eat people. 
 Very few people have `I want to be killed and eaten' on their cards, 
 so Hannibal is out of a job." - http://cards.sf.net