(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

@@ -48,10 +48,10 @@
class Blitter_32bppSSE4 : public Blitter_32bppSSSE3 {
public:
Colour AdjustBrightness(Colour colour, uint8 brightness);
Colour ReallyAdjustBrightness(Colour colour, uint8 brightness);
static Colour ReallyAdjustBrightness(Colour colour, uint8 brightness);
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
template <BlitterMode mode, ReadMode read_mode, BlockType bt_last>
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last>
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
/* virtual */ const char *GetName() { return "32bpp-sse4"; }
};