(svn r26211) -Add: specialised non-animated SS2 blitter (MJP)

With 32bpp base set about 30% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 5 and 1% of total run time
This commit is contained in:
rubidium
2014-01-02 23:12:32 +00:00
parent 899c0f9cd2
commit fb05674cb7
8 changed files with 505 additions and 1 deletions

View File

@@ -1077,7 +1077,7 @@ static bool AllocateDibSection(int w, int h, bool force)
bi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bi->bmiHeader.biWidth = _wnd.width = w;
bi->bmiHeader.biHeight = -(_wnd.height = h);
bi->bmiHeader.biHeight = -(_wnd.height = h+1); // Allocate extra room to prevent out-of-bounds when SSE reads a 16B block at the end of the buffer.
bi->bmiHeader.biPlanes = 1;
bi->bmiHeader.biBitCount = BlitterFactory::GetCurrentBlitter()->GetScreenDepth();