[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 0/7] qxl: fix hangs caused by qxl_render_update
From: |
Alon Levy |
Subject: |
[Qemu-devel] [RFC 0/7] qxl: fix hangs caused by qxl_render_update |
Date: |
Sun, 19 Feb 2012 23:27:59 +0200 |
This is the second attempt to fix this issue, as a lesson from the last time it
doesn't try to use an async monitor command. So with this patchset, in qxl
mode, a screendump monitor command will complete before the file is written to
disk. This is much better then a hang. To fix it does require asynchronous
monitor command completion.
This is an RFC because of the last patch, that implements a DisplayAllocator
trio (create,free,resize) for qxl. Without it there are two incorrect
screendumps after each resolution change. With it there is no error, but it
still seems it can be improved, in particular it does a redraw for every
qxl_render_update because of wrong usage of the QEMU_ALLOCATED_FLAG that is
required to get vga_draw_graphic to do the 24 to 32 bit conversion, to get
correct display for VBE modes using 24 bit depth.
Please review,
Alon Levy (7):
sdl: remove NULL check, g_malloc0 can't fail
qxl: drop qxl_spice_update_area_async definition
qxl: introduce QXLCookie
qxl: make qxl_render_update async
qxl-render: call ppm_save on callback
qxl: use spice_qxl_update_area_dirty_async
qxl: add allocator
hw/qxl-render.c | 98 +++++++++++++-----------
hw/qxl.c | 207 +++++++++++++++++++++++++++++++++++++++++++++-------
hw/qxl.h | 12 +--
ui/sdl.c | 4 -
ui/spice-display.c | 27 ++++++-
ui/spice-display.h | 15 ++++
6 files changed, 276 insertions(+), 87 deletions(-)
--
1.7.9