From aead3f410970aea290a1088a41bd7403610e78fb Mon Sep 17 00:00:00 2001 From: rogerman Date: Mon, 31 Jul 2017 06:56:16 -0700 Subject: [PATCH] GPU: Fix pixel alignment bug when the framebuffer is 3x sized, running on an SSE2 system. (Regression from commit 062c0ad.) --- desmume/src/GPU.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desmume/src/GPU.cpp b/desmume/src/GPU.cpp index eb351a0dd..5fef5a066 100644 --- a/desmume/src/GPU.cpp +++ b/desmume/src/GPU.cpp @@ -236,7 +236,7 @@ static FORCEINLINE void CopyLineExpand_SSE2(void *__restrict dst, const void *__ if (ELEMENTSIZE == 2) { const __m128i src16 = _mm_load_si128((__m128i *)((u16 *)src + srcX)); - const __m128i src16lo = _mm_shuffle_epi32(src16, 0x88); + const __m128i src16lo = _mm_shuffle_epi32(src16, 0x44); const __m128i src16hi = _mm_shuffle_epi32(src16, 0xEE); const __m128i src16out[3] = { _mm_shufflehi_epi16(_mm_shufflelo_epi16(src16lo, 0x40), 0xA5), _mm_shufflehi_epi16(_mm_shufflelo_epi16(src16, 0xFE), 0x40), _mm_shufflehi_epi16(_mm_shufflelo_epi16(src16hi, 0xA5), 0xFE) };