Colorspace Handler: Properly maintain the alpha value when applying intensity to an RGBA5551 color buffer.
This commit is contained in:
parent
64d32dca0e
commit
97525d94d7
|
@ -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 );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue