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

Reply via email to