[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm
From: |
Alon Levy |
Subject: |
[Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm |
Date: |
Tue, 12 Jul 2011 16:55:26 +0300 |
Later the save will happen asynchronously on surface_updated callback.
---
hw/qxl-render.c | 10 ++++++++++
hw/qxl.c | 2 +-
hw/qxl.h | 2 ++
3 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/hw/qxl-render.c b/hw/qxl-render.c
index 60b822d..e64b646 100644
--- a/hw/qxl-render.c
+++ b/hw/qxl-render.c
@@ -70,6 +70,15 @@ void qxl_render_resize(PCIQXLDevice *qxl)
}
}
+static void qxl_save_ppm(PCIQXLDevice *qxl)
+{
+ if (qxl->ppm_save_filename) {
+ ppm_save(qxl->ppm_save_filename, qxl->ssd.ds->surface);
+ free(qxl->ppm_save_filename);
+ qxl->ppm_save_filename = NULL;
+ }
+}
+
void qxl_render_update(PCIQXLDevice *qxl)
{
VGACommonState *vga = &qxl->vga;
@@ -139,6 +148,7 @@ void qxl_render_update(PCIQXLDevice *qxl)
dirty[i].right - dirty[i].left,
dirty[i].bottom - dirty[i].top);
}
+ qxl_save_ppm(qxl);
}
static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCursor *cursor)
diff --git a/hw/qxl.c b/hw/qxl.c
index bd540c0..de93efa 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1462,8 +1462,8 @@ static void qxl_hw_screen_dump(void *opaque, const char
*filename)
switch (qxl->mode) {
case QXL_MODE_COMPAT:
case QXL_MODE_NATIVE:
+ qxl->ppm_save_filename = qemu_strdup(filename);
qxl_render_update(qxl);
- ppm_save(filename, qxl->ssd.ds->surface);
break;
case QXL_MODE_VGA:
vga->screen_dump(vga, filename);
diff --git a/hw/qxl.h b/hw/qxl.h
index 064311a..2c7f94a 100644
--- a/hw/qxl.h
+++ b/hw/qxl.h
@@ -32,6 +32,8 @@ typedef struct PCIQXLDevice {
int32_t num_memslots;
int32_t num_surfaces;
+ char *ppm_save_filename;
+
#if SPICE_INTERFACE_QXL_MINOR >= 1
uint32_t current_async;
QemuMutex async_lock;
--
1.7.6
- [Qemu-devel] [PATCHv3] async + suspend reworked, Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] spice: add worker wrapper functions., Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] spice: add qemu_spice_display_init_common, Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl: remove qxl_destroy_primary(), Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl: fix surface tracking & locking, Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl: bump pci rev, Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl: make qxl_guest_bug take variable arguments, Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl: error handling fixes and cleanups., Alon Levy, 2011/07/12
- [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm,
Alon Levy <=
- 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
- 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, 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, Alon Levy, 2011/07/13
- Re: [Qemu-devel] [PATCHv3] qxl-render/qxl: split out qxl_save_ppm, Luiz Capitulino, 2011/07/13