[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv3] qxl-render: split out qxl_render_update_dirty_rec
From: |
Alon Levy |
Subject: |
[Qemu-devel] [PATCHv3] qxl-render: split out qxl_render_update_dirty_rectangles |
Date: |
Tue, 12 Jul 2011 16:55:27 +0300 |
will later be reused from surface_updated callback when compiling against a
newer spice-server.
---
hw/qxl-render.c | 37 ++++++++++++++++++++++---------------
1 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/hw/qxl-render.c b/hw/qxl-render.c
index e64b646..d70373d 100644
--- a/hw/qxl-render.c
+++ b/hw/qxl-render.c
@@ -79,12 +79,32 @@ static void qxl_save_ppm(PCIQXLDevice *qxl)
}
}
+static void qxl_render_update_dirty_rectangles(PCIQXLDevice *qxl, QXLRect
*dirty, uint32_t num_dirty)
+{
+ VGACommonState *vga = &qxl->vga;
+ int i;
+
+ dprint(qxl, 3, "%s: %d\n", __FUNCTION__, num_dirty);
+ for (i = 0; i < num_dirty; i++) {
+ if (qemu_spice_rect_is_empty(dirty + i)) {
+ break;
+ }
+ if (qxl->guest_primary.flipped) {
+ qxl_flip(qxl, dirty + i);
+ }
+ dpy_update(vga->ds,
+ dirty[i].left, dirty[i].top,
+ dirty[i].right - dirty[i].left,
+ dirty[i].bottom - dirty[i].top);
+ }
+ qxl_save_ppm(qxl);
+}
+
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;
@@ -135,20 +155,7 @@ void qxl_render_update(PCIQXLDevice *qxl)
memset(dirty, 0, sizeof(dirty));
qxl_spice_update_area(qxl, 0, &update,
dirty, ARRAY_SIZE(dirty), 1);
-
- for (i = 0; i < ARRAY_SIZE(dirty); i++) {
- if (qemu_spice_rect_is_empty(dirty+i)) {
- break;
- }
- if (qxl->guest_primary.flipped) {
- qxl_flip(qxl, dirty+i);
- }
- dpy_update(vga->ds,
- dirty[i].left, dirty[i].top,
- dirty[i].right - dirty[i].left,
- dirty[i].bottom - dirty[i].top);
- }
- qxl_save_ppm(qxl);
+ qxl_render_update_dirty_rectangles(qxl, dirty, ARRAY_SIZE(dirty));
}
static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCursor *cursor)
--
1.7.6
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, (continued)
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Luiz Capitulino, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Luiz Capitulino, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Gerd Hoffmann, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Alon Levy, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Gerd Hoffmann, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Daniel P. Berrange, 2011/07/13
[Qemu-devel] [PATCHv3] qxl: add io_port_to_string, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl: QXL_IO_UPDATE_AREA: pass ram->update_area directly to update_area, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl-render: split out qxl_render_update_dirty_rectangles,
Alon Levy <=
[Qemu-devel] [PATCHv3] spice/qxl: move worker wrappers, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl: async io support using new spice api, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl: use QXL_REVISION_*, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl-render: qxl_render_update: nop if \!ssd.running, Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl: qxl_send_events: ignore if stopped (instead of abort), Alon Levy, 2011/07/12
[Qemu-devel] [PATCHv3] qxl-render: use update_area_async and update_area_complete, Alon Levy, 2011/07/12