diff options
Diffstat (limited to 'drivers/painter/generic/qp_surface_rgb565.c')
| -rw-r--r-- | drivers/painter/generic/qp_surface_rgb565.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/painter/generic/qp_surface_rgb565.c b/drivers/painter/generic/qp_surface_rgb565.c index c5b351311a..2426d53c0c 100644 --- a/drivers/painter/generic/qp_surface_rgb565.c +++ b/drivers/painter/generic/qp_surface_rgb565.c | |||
| @@ -52,7 +52,7 @@ static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel | |||
| 52 | // Pixel colour conversion | 52 | // Pixel colour conversion |
| 53 | static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { | 53 | static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { |
| 54 | for (int16_t i = 0; i < palette_size; ++i) { | 54 | for (int16_t i = 0; i < palette_size; ++i) { |
| 55 | rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); | 55 | rgb_t rgb = hsv_to_rgb_nocie(palette[i].hsv888); |
| 56 | uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); | 56 | uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); |
| 57 | palette[i].rgb565 = __builtin_bswap16(rgb565); | 57 | palette[i].rgb565 = __builtin_bswap16(rgb565); |
| 58 | } | 58 | } |
