qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]