summaryrefslogtreecommitdiff
path: root/ui/sdl.c
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2011-03-16 13:33:30 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2011-03-22 08:39:11 -0500
commitffe8b821a1ac7d3318b00004e37f13615ff60a9f (patch)
tree223fc6c884ff87e4bbadf64661a1032385a5d0be /ui/sdl.c
parent6aae3df15dc31f3635efe6e4d4605a6f16888a1b (diff)
downloadqemu-ffe8b821a1ac7d3318b00004e37f13615ff60a9f.tar.gz
Consolidate DisplaySurface allocation in qemu_alloc_display()
This removes various code duplication from console.e and sdl.c Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'ui/sdl.c')
-rw-r--r--ui/sdl.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/ui/sdl.c b/ui/sdl.c
index 47ac49c993..c5bb0a3705 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -176,22 +176,18 @@ static DisplaySurface* sdl_create_displaysurface(int width, int height)
surface->width = width;
surface->height = height;
-
+
if (scaling_active) {
+ int linesize;
+ PixelFormat pf;
if (host_format.BytesPerPixel != 2 && host_format.BytesPerPixel != 4) {
- surface->linesize = width * 4;
- surface->pf = qemu_default_pixelformat(32);
+ linesize = width * 4;
+ pf = qemu_default_pixelformat(32);
} else {
- surface->linesize = width * host_format.BytesPerPixel;
- surface->pf = sdl_to_qemu_pixelformat(&host_format);
+ linesize = width * host_format.BytesPerPixel;
+ pf = sdl_to_qemu_pixelformat(&host_format);
}
-#ifdef HOST_WORDS_BIGENDIAN
- surface->flags = QEMU_ALLOCATED_FLAG | QEMU_BIG_ENDIAN_FLAG;
-#else
- surface->flags = QEMU_ALLOCATED_FLAG;
-#endif
- surface->data = (uint8_t*) qemu_mallocz(surface->linesize * surface->height);
-
+ qemu_alloc_display(surface, width, height, linesize, pf, 0);
return surface;
}