# HG changeset patch # User smatz # Date 1216338227 0 # Node ID 7034daa187928d1d8d2ace7cec72bc63b4322e17 # Parent 37d01497c935a436d139aea11116c58f6bb9b3b1 (svn r13721) -Codechange: one less multiplication for colour mixing in 32bpp blitters (GeekToo) diff -r 37d01497c935 -r 7034daa18792 src/blitter/32bpp_base.hpp --- a/src/blitter/32bpp_base.hpp Thu Jul 17 21:15:57 2008 +0000 +++ b/src/blitter/32bpp_base.hpp Thu Jul 17 23:43:47 2008 +0000 @@ -54,9 +54,9 @@ /* The 256 is wrong, it should be 255, but 256 is much faster... */ return ComposeColour(0xFF, - (r * a + cr * (256 - a)) / 256, - (g * a + cg * (256 - a)) / 256, - (b * a + cb * (256 - a)) / 256); + ((int)(r - cr) * a) / 256 + cr, + ((int)(g - cg) * a) / 256 + cg, + ((int)(b - cb) * a) / 256 + cb); } /** @@ -79,15 +79,8 @@ uint r = GB(colour, 16, 8); uint g = GB(colour, 8, 8); uint b = GB(colour, 0, 8); - uint cr = GB(current, 16, 8); - uint cg = GB(current, 8, 8); - uint cb = GB(current, 0, 8); - /* The 256 is wrong, it should be 255, but 256 is much faster... */ - return ComposeColour(0xFF, - (r * a + cr * (256 - a)) / 256, - (g * a + cg * (256 - a)) / 256, - (b * a + cb * (256 - a)) / 256); + return ComposeColourRGBANoCheck(r, g, b, a, current); } /**