On Sun, 29 Jul 2012, Andrew Flegg wrote: > On 29 July 2012 20:50, Ian Jeffray <i...@jeffray.co.uk> wrote: > >> So long as we don't lose performance... lots of separately optimised >> functions are good for performance. And they're not /quite/ as >> similar as you may think at first glance. > > I admit I didn't diff all 16 ;-) > > But the differences between RowFunc8bpp2X and RowFunc8bpp1X seemed to be: > > * VIDEO_STAT(DisplayRedrawForced) - 'flags & ROWFUNC_FORCE' vs. 'force' > (is that a mistake?)
Yes, that's a mistake. I guess I didn't try compiling with video stats enabled after I swapped 'force' for a flags word. > * Shifting of "Available" (>>2 vs. >>3) - is that (4-HD.XScale)? 'Availalable' is the number of available source bits, so Available>>3 would be the number of source pixels. So it's really (Available>>3)*HD.XScale, which can be hand-optimised to (Available>>2) for the 2x case (since it's guaranteed the low three bits of 'Available' won't be set) (When writing the code I found it easier to count some of the values in bits rather than pixels - although I can't quite remember why!) Cheers, - Jeffrey ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ -- arcem-devel mailing list arcem-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/arcem-devel