[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] qxl: split qxl_render_display_resized
From: |
Alon Levy |
Subject: |
[Qemu-devel] [PATCH 4/5] qxl: split qxl_render_display_resized |
Date: |
Mon, 24 Oct 2011 14:02:18 +0200 |
Signed-off-by: Alon Levy <address@hidden>
---
hw/qxl-render.c | 75 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 41 insertions(+), 34 deletions(-)
diff --git a/hw/qxl-render.c b/hw/qxl-render.c
index 23a4289..fd3c016 100644
--- a/hw/qxl-render.c
+++ b/hw/qxl-render.c
@@ -70,47 +70,54 @@ void qxl_render_resize(PCIQXLDevice *qxl)
}
}
+static void qxl_render_display_resized(PCIQXLDevice *qxl)
+{
+ VGACommonState *vga = &qxl->vga;
+ void *ptr;
+
+ qxl->guest_primary.resized = 0;
+
+ if (qxl->guest_primary.flipped) {
+ g_free(qxl->guest_primary.flipped);
+ qxl->guest_primary.flipped = NULL;
+ }
+ qemu_free_displaysurface(vga->ds);
+
+ qxl->guest_primary.data = memory_region_get_ram_ptr(&qxl->vga.vram);
+ if (qxl->guest_primary.stride < 0) {
+ /* spice surface is upside down -> need extra buffer to flip */
+ qxl->guest_primary.stride = -qxl->guest_primary.stride;
+ qxl->guest_primary.flipped = g_malloc(qxl->guest_primary.surface.width
*
+ qxl->guest_primary.stride);
+ ptr = qxl->guest_primary.flipped;
+ } else {
+ ptr = qxl->guest_primary.data;
+ }
+ dprint(qxl, 1, "%s: %dx%d, stride %d, bpp %d, depth %d, flip %s\n",
+ __func__,
+ qxl->guest_primary.surface.width,
+ qxl->guest_primary.surface.height,
+ qxl->guest_primary.stride,
+ qxl->guest_primary.bytes_pp,
+ qxl->guest_primary.bits_pp,
+ qxl->guest_primary.flipped ? "yes" : "no");
+ vga->ds->surface =
+ qemu_create_displaysurface_from(qxl->guest_primary.surface.width,
+ qxl->guest_primary.surface.height,
+ qxl->guest_primary.bits_pp,
+ qxl->guest_primary.stride,
+ ptr);
+ dpy_resize(vga->ds);
+}
+
void qxl_render_update(PCIQXLDevice *qxl)
{
VGACommonState *vga = &qxl->vga;
QXLRect dirty[32], update;
- void *ptr;
int i;
if (qxl->guest_primary.resized) {
- qxl->guest_primary.resized = 0;
-
- if (qxl->guest_primary.flipped) {
- g_free(qxl->guest_primary.flipped);
- qxl->guest_primary.flipped = NULL;
- }
- qemu_free_displaysurface(vga->ds);
-
- qxl->guest_primary.data = memory_region_get_ram_ptr(&qxl->vga.vram);
- if (qxl->guest_primary.stride < 0) {
- /* spice surface is upside down -> need extra buffer to flip */
- qxl->guest_primary.stride = -qxl->guest_primary.stride;
- qxl->guest_primary.flipped =
g_malloc(qxl->guest_primary.surface.width *
-
qxl->guest_primary.stride);
- ptr = qxl->guest_primary.flipped;
- } else {
- ptr = qxl->guest_primary.data;
- }
- dprint(qxl, 1, "%s: %dx%d, stride %d, bpp %d, depth %d, flip %s\n",
- __FUNCTION__,
- qxl->guest_primary.surface.width,
- qxl->guest_primary.surface.height,
- qxl->guest_primary.stride,
- qxl->guest_primary.bytes_pp,
- qxl->guest_primary.bits_pp,
- qxl->guest_primary.flipped ? "yes" : "no");
- vga->ds->surface =
- qemu_create_displaysurface_from(qxl->guest_primary.surface.width,
- qxl->guest_primary.surface.height,
- qxl->guest_primary.bits_pp,
- qxl->guest_primary.stride,
- ptr);
- dpy_resize(vga->ds);
+ qxl_render_display_resized(qxl);
}
if (!qxl->guest_primary.commands) {
--
1.7.7
- [Qemu-devel] [PATCH 0/5] monitor+qxl: async monitor support, Alon Levy, 2011/10/24
- [Qemu-devel] [PATCH 4/5] qxl: split qxl_render_display_resized,
Alon Levy <=
- [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Alon Levy, 2011/10/24
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Gerd Hoffmann, 2011/10/24
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Luiz Capitulino, 2011/10/24
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Alon Levy, 2011/10/24
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Luiz Capitulino, 2011/10/24
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Alon Levy, 2011/10/25
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Luiz Capitulino, 2011/10/25
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Alon Levy, 2011/10/25
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Luiz Capitulino, 2011/10/25
- Re: [Qemu-devel] [PATCH 1/5] monitor: screen_dump async, Alon Levy, 2011/10/26