summaryrefslogtreecommitdiff
path: root/src/efi
diff options
context:
space:
mode:
Diffstat (limited to 'src/efi')
-rw-r--r--src/efi/graphics.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/efi/graphics.c b/src/efi/graphics.c
index 9cb6cb4..23b5d7d 100644
--- a/src/efi/graphics.c
+++ b/src/efi/graphics.c
@@ -252,9 +252,11 @@ EFI_STATUS bmp_to_blt(UINT8 *bmp, UINTN size,
break;
case 16: {
- out->Red = ((in[1] >> 2) & 0x1f) << 3;
- out->Green = (((in[1] << 3) & 0x1f) + (in[0] >> 5)) << 3;
- out->Blue = ((in[0] & 0x1f)) << 3;
+ UINT16 i = *(UINT16 *) in;
+
+ out->Red = (i & 0x7c00) >> 7;
+ out->Green = (i & 0x3e0) >> 2;
+ out->Blue = (i & 0x1f) << 3;
in += 1;
break;
}