]> git.proxmox.com Git - qemu.git/commit
vga: fix byteswapping.
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 20 Feb 2013 08:37:12 +0000 (09:37 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 2 Apr 2013 15:34:41 +0000 (10:34 -0500)
commitd49fed4c55e3f4dd4a8c4a4d68b938b12a36802c
treea6fabd1b914214f20c38415e0623de01daeed502
parentcebb8ebe41001c37aa3d88770209889728da6ea8
vga: fix byteswapping.

In case host and guest endianness differ the vga code first creates
a shared surface (using qemu_create_displaysurface_from), then goes
patch the surface format to indicate that the bytes must be swapped.

The switch to pixman broke that hack as the format patching isn't
propagated into the pixman image, so ui code using the pixman image
directly (such as vnc) uses the wrong format.

Fix that by adding a byteswap parameter to
qemu_create_displaysurface_from, so we'll use the correct format
when creating the surface (and the pixman image) and don't have
to patch the format afterwards.

[ v2: unbreak xen build ]

Cc: qemu-stable@nongnu.org
Cc: mark.cave-ayland@ilande.co.uk
Cc: agraf@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1361349432-23884-1-git-send-email-kraxel@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit b1424e0381a7f1c9969079eca4458d5f20bf1859)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/qxl-render.c
hw/vga.c
hw/vmware_vga.c
hw/xenfb.c
include/ui/console.h
ui/console.c