GPU: Fix a drawing bug with display capture when the GPU scaling factor is 4x while running on an SSE2 system without SSSE3.

This commit is contained in:
rogerman 2022-05-13 02:04:44 -07:00
parent cdc1b5bc6d
commit b565073299
1 changed files with 8 additions and 8 deletions

View File

@ -548,18 +548,18 @@ static FORCEINLINE void CopyLineReduce(void *__restrict dst, const void *__restr
#else
srcPix[0] = _mm_shuffle_epi32(srcPix[0], 0xD8);
srcPix[1] = _mm_shuffle_epi32(srcPix[1], 0xD8);
srcPix[2] = _mm_shuffle_epi32(srcPix[2], 0xD8);
srcPix[3] = _mm_shuffle_epi32(srcPix[3], 0xD8);
srcPix[2] = _mm_shuffle_epi32(srcPix[2], 0x8D);
srcPix[3] = _mm_shuffle_epi32(srcPix[3], 0x8D);
srcPix[0] = _mm_unpacklo_epi32(srcPix[0], srcPix[1]);
srcPix[1] = _mm_unpacklo_epi32(srcPix[2], srcPix[3]);
srcPix[0] = _mm_or_si128(srcPix[0], srcPix[2]);
srcPix[1] = _mm_or_si128(srcPix[1], srcPix[3]);
srcPix[0] = _mm_shuffle_epi32(srcPix[0], 0xD8);
srcPix[1] = _mm_shuffle_epi32(srcPix[1], 0x8D);
srcPix[0] = _mm_or_si128(srcPix[0], srcPix[1]);
srcPix[0] = _mm_shufflelo_epi16(srcPix[0], 0xD8);
srcPix[0] = _mm_shufflehi_epi16(srcPix[0], 0xD8);
srcPix[1] = _mm_shufflelo_epi16(srcPix[1], 0x8D);
srcPix[1] = _mm_shufflehi_epi16(srcPix[1], 0x8D);
srcPix[0] = _mm_or_si128(srcPix[0], srcPix[1]);
_mm_store_si128((__m128i *)dst + dstX, srcPix[0]);
#endif