qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 06/11] milkymist-vgafb: swap pixel data in source buf


From: Michael Walle
Subject: [Qemu-devel] [PULL 06/11] milkymist-vgafb: swap pixel data in source buffer
Date: Wed, 25 Sep 2013 20:59:27 +0200

In commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf the lduw_raw() call was
eliminated. But we are reading from the target buffer a 16-bit value, which
is in big-endian format. Therefore, swap the bytes if we are building for a
little-endian host.

Cc: Paolo Bonzini <address@hidden>
Signed-off-by: Michael Walle <address@hidden>
---
 hw/display/milkymist-vgafb_template.h |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/display/milkymist-vgafb_template.h 
b/hw/display/milkymist-vgafb_template.h
index e0036e1..5a906af 100644
--- a/hw/display/milkymist-vgafb_template.h
+++ b/hw/display/milkymist-vgafb_template.h
@@ -62,6 +62,9 @@ static void glue(draw_line_, BITS)(void *opaque, uint8_t *d, 
const uint8_t *s,
 
     while (width--) {
         memcpy(&rgb565, s, sizeof(rgb565));
+#ifndef HOST_WORDS_BIGENDIAN
+        rgb565 = bswap16(rgb565);
+#endif
         r = ((rgb565 >> 11) & 0x1f) << 3;
         g = ((rgb565 >>  5) & 0x3f) << 2;
         b = ((rgb565 >>  0) & 0x1f) << 3;
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]