]> git.proxmox.com Git - mirror_qemu.git/commitdiff
milkymist-vgafb: swap pixel data in source buffer
authorMichael Walle <michael@walle.cc>
Mon, 16 Sep 2013 17:32:54 +0000 (19:32 +0200)
committerMichael Walle <michael@walle.cc>
Tue, 4 Feb 2014 18:34:30 +0000 (19:34 +0100)
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, use lduw_be_p() to read the value.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael Walle <michael@walle.cc>
hw/display/milkymist-vgafb_template.h

index e0036e16cf7be105e99c180194f6365bacc15a43..48837809eb0c43844dc2599192f0f75c6277c0b4 100644 (file)
@@ -61,7 +61,7 @@ static void glue(draw_line_, BITS)(void *opaque, uint8_t *d, const uint8_t *s,
     uint8_t r, g, b;
 
     while (width--) {
-        memcpy(&rgb565, s, sizeof(rgb565));
+        rgb565 = lduw_be_p(s);
         r = ((rgb565 >> 11) & 0x1f) << 3;
         g = ((rgb565 >>  5) & 0x3f) << 2;
         b = ((rgb565 >>  0) & 0x1f) << 3;