Colorspace Handler: Properly maintain the alpha value when applying intensity to an RGBA5551 color buffer.

This commit is contained in:
rogerman 2017-10-20 13:03:03 -07:00
parent 64d32dca0e
commit 97525d94d7
1 changed files with 12 additions and 12 deletions

View File

@ -642,7 +642,7 @@ void ColorspaceApplyIntensityToBuffer16(u16 *dst, size_t pixCount, float intensi
u8 r = (u8)( (((outColor >> 0) & 0x1F) * intensity_u16) >> 16 );
u8 g = (u8)( (((outColor >> 5) & 0x1F) * intensity_u16) >> 16 );
u8 b = (u8)( (((outColor >> 10) & 0x1F) * intensity_u16) >> 16 );
u8 a = outColor & 0x8000;
u16 a = outColor & 0x8000;
dst[i] = ( (r << 0) | (g << 5) | (b << 10) | a );
}
@ -1053,7 +1053,7 @@ size_t ColorspaceHandler::ApplyIntensityToBuffer16(u16 *dst, size_t pixCount, fl
u8 r = (u8)( (((outColor >> 0) & 0x1F) * intensity_u16) >> 16 );
u8 g = (u8)( (((outColor >> 5) & 0x1F) * intensity_u16) >> 16 );
u8 b = (u8)( (((outColor >> 10) & 0x1F) * intensity_u16) >> 16 );
u8 a = outColor & 0x8000;
u16 a = outColor & 0x8000;
dst[i] = ( (r << 0) | (g << 5) | (b << 10) | a );
}
@ -1093,7 +1093,7 @@ size_t ColorspaceHandler::ApplyIntensityToBuffer16_SwapRB(u16 *dst, size_t pixCo
u8 r = (u8)( (((outColor >> 0) & 0x1F) * intensity_u16) >> 16 );
u8 g = (u8)( (((outColor >> 5) & 0x1F) * intensity_u16) >> 16 );
u8 b = (u8)( (((outColor >> 10) & 0x1F) * intensity_u16) >> 16 );
u8 a = outColor & 0x8000;
u16 a = outColor & 0x8000;
dst[i] = ( (r << 0) | (g << 5) | (b << 10) | a );
}