mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-27 10:57:22 +08:00
Fixed warning C4310: cast truncates constant value
This commit is contained in:
@@ -1045,8 +1045,8 @@ static void SDL_TARGETING("sse4.1") Blit8888to8888PixelAlphaSwizzleSSE41(SDL_Bli
|
|||||||
srca_hi = _mm_xor_si128(srca_hi, _mm_set1_epi16(0xff00));
|
srca_hi = _mm_xor_si128(srca_hi, _mm_set1_epi16(0xff00));
|
||||||
|
|
||||||
// maddubs expects second argument to be signed, so subtract 128
|
// maddubs expects second argument to be signed, so subtract 128
|
||||||
src128 = _mm_sub_epi8(src128, _mm_set1_epi8((char)128));
|
src128 = _mm_sub_epi8(src128, _mm_set1_epi8((Uint8)128));
|
||||||
dst128 = _mm_sub_epi8(dst128, _mm_set1_epi8((char)128));
|
dst128 = _mm_sub_epi8(dst128, _mm_set1_epi8((Uint8)128));
|
||||||
|
|
||||||
// dst = srcA*(src-128) + (255-srcA)*(dst-128) = srcA*src + (255-srcA)*dst - 128*255
|
// dst = srcA*(src-128) + (255-srcA)*(dst-128) = srcA*src + (255-srcA)*dst - 128*255
|
||||||
__m128i dst_lo = _mm_maddubs_epi16(srca_lo, _mm_unpacklo_epi8(src128, dst128));
|
__m128i dst_lo = _mm_maddubs_epi16(srca_lo, _mm_unpacklo_epi8(src128, dst128));
|
||||||
@@ -1138,8 +1138,8 @@ static void SDL_TARGETING("avx2") Blit8888to8888PixelAlphaSwizzleAVX2(SDL_BlitIn
|
|||||||
alpha_hi = _mm256_xor_si256(alpha_hi, _mm256_set1_epi16(0xff00));
|
alpha_hi = _mm256_xor_si256(alpha_hi, _mm256_set1_epi16(0xff00));
|
||||||
|
|
||||||
// maddubs expects second argument to be signed, so subtract 128
|
// maddubs expects second argument to be signed, so subtract 128
|
||||||
src256 = _mm256_sub_epi8(src256, _mm256_set1_epi8((char)128));
|
src256 = _mm256_sub_epi8(src256, _mm256_set1_epi8((Uint8)128));
|
||||||
dst256 = _mm256_sub_epi8(dst256, _mm256_set1_epi8((char)128));
|
dst256 = _mm256_sub_epi8(dst256, _mm256_set1_epi8((Uint8)128));
|
||||||
|
|
||||||
// dst = srcA*(src-128) + (255-srcA)*(dst-128) = srcA*src + (255-srcA)*dst - 128*255
|
// dst = srcA*(src-128) + (255-srcA)*(dst-128) = srcA*src + (255-srcA)*dst - 128*255
|
||||||
__m256i dst_lo = _mm256_maddubs_epi16(alpha_lo, _mm256_unpacklo_epi8(src256, dst256));
|
__m256i dst_lo = _mm256_maddubs_epi16(alpha_lo, _mm256_unpacklo_epi8(src256, dst256));
|
||||||
|
|||||||
Reference in New Issue
Block a user