(svn r26214) -Add: specialised animated SSE4 blitter (MJP)

With 32bpp base set about 15-20% faster in the Draw function (slower with 8bpp base set). Overall, with 32bpp base set, about 5% faster.
This commit is contained in:
rubidium
2014-01-02 23:52:13 +00:00
parent 78df732a7b
commit 4c84d13454
13 changed files with 516 additions and 18 deletions

View File

@@ -289,10 +289,10 @@ inline Colour Blitter_32bppSSE4::AdjustBrightness(Colour colour, uint8 brightnes
/* Shortcut for normal brightness. */
if (brightness == DEFAULT_BRIGHTNESS) return colour;
return this->ReallyAdjustBrightness(colour, brightness);
return Blitter_32bppSSE4::ReallyAdjustBrightness(colour, brightness);
}
Colour Blitter_32bppSSE4::ReallyAdjustBrightness(Colour colour, uint8 brightness)
/* static */ Colour Blitter_32bppSSE4::ReallyAdjustBrightness(Colour colour, uint8 brightness)
{
ALIGN(16) uint64 c16 = colour.b | (uint64) colour.g << 16 | (uint64) colour.r << 32;
c16 *= brightness;