diff options
author | Toomas Soome <tsoome@me.com> | 2020-10-04 23:42:15 +0300 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2020-10-27 17:33:59 +0200 |
commit | 91061836e6d66992af6a50374729f8ef6a6263ae (patch) | |
tree | bdfa50dd2c0818095b3cd2ab60ca1cbcf5611660 /usr/src/common | |
parent | d7c4a96fc8acd91d67ffddf9f159987336b28efc (diff) | |
download | illumos-gate-91061836e6d66992af6a50374729f8ef6a6263ae.tar.gz |
13204 loader: 8-bit depth can draw 256 colors
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/common')
-rw-r--r-- | usr/src/common/font/font.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr/src/common/font/font.c b/usr/src/common/font/font.c index f46c34a988..81d5b4ae53 100644 --- a/usr/src/common/font/font.c +++ b/usr/src/common/font/font.c @@ -88,22 +88,22 @@ const text_cmap_t cmap4_to_24 = { /* END CSTYLED */ static uint32_t -rgb_to_color(const rgb_t *rgb, uint8_t r, uint8_t g, uint8_t b) +rgb_to_color(const rgb_t *rgb, uint32_t r, uint32_t g, uint32_t b) { uint32_t color; int pos, size; pos = rgb->red.pos; size = rgb->red.size; - color = ((r >> (8 - size)) & ((1 << size) - 1)) << pos; + color = ((r * ((1 << size) - 1)) / 0xff) << pos; pos = rgb->green.pos; size = rgb->green.size; - color |= ((g >> (8 - size)) & ((1 << size) - 1)) << pos; + color |= (((g * ((1 << size) - 1)) / 0xff) << pos); pos = rgb->blue.pos; size = rgb->blue.size; - color |= ((b >> (8 - size)) & ((1 << size) - 1)) << pos; + color |= (((b * ((1 << size) - 1)) / 0xff) << pos); return (color); } |