(svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP)

pull/155/head
rubidium 11 years ago
parent d27f085ef6
commit d263ec2bd9

@ -173,7 +173,7 @@ bmno_full_transparency:
Colour c0 = dst[0];
c0 = r0 == 0 ? c0 : c0map;
c0 = m0 != 0 ? c0 : src0;
INSR32(c0.data, srcABCD, 0);
srcABCD = _mm_cvtsi32_si128(c0.data);
const Colour src1 = src[1];
const Colour c1map = (this->LookupColourInPalette(r1).data & 0x00FFFFFF) | (src1.data & 0xFF000000);

@ -57,8 +57,8 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel
const __m128i tr_nom_base = TRANSPARENT_NOM_BASE;
for (int y = bp->height; y != 0; y--) {
const Colour *src = src_rgba_line + META_LENGTH;
Colour *dst = dst_line;
const Colour *src = src_rgba_line + META_LENGTH;
if (mode == BM_COLOUR_REMAP) src_mv = src_mv_line;
if (read_mode == RM_WITH_MARGIN) {
@ -109,7 +109,7 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel
Colour c0 = 0; // Use alpha of 0 to keep dst as is.
c0 = r0 == 0 ? c0 : c0map;
c0 = m0 != 0 ? c0 : src0;
INSR32(c0.data, srcABCD, 0);
srcABCD = _mm_cvtsi32_si128(c0.data);
const Colour src1 = src[1];
const uint m1 = (byte) (mvX2 >> 16);

Loading…
Cancel
Save