qemu/ui
Alon Levy 81fb6f1504 qxl: make qxl_render_update async
RHBZ# 747011

Removes the last user of QXL_SYNC when using update drivers that use the
_ASYNC io ports.

The last user is qxl_render_update, it is called both by qxl_hw_update
which is the vga_hw_update_ptr passed to graphic_console_init, and by
qxl_hw_screen_dump.

At the same time the QXLRect area being passed to the red_worker thread
is passed as a copy, as part of the QXLCookie.

The implementation uses interface_update_area_complete with a bh to make
sure dpy_update and qxl_flip are called from the io thread, otherwise
the vga->ds->surface.data can change under our feet.

With this patch sdl+spice works fine. But spice by itself doesn't
produce the expected screendumps unless repeated a few times, due to
ppm_save being called before update_area (rendering done in spice server
thread) having a chance to complete. Fixed by next patch, but see commit
message for problem introduced by it.

Signed-off-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-02-27 09:46:52 +01:00
..
cocoa.m cocoa: Close sheet after image file selection 2011-11-01 20:41:06 +01:00
curses_keys.h curses: Fix control-{@[\]^_} and ESC 2010-10-21 18:31:28 +02:00
curses.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
d3des.c
d3des.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
keymaps.c ui: Plug memory leaks on parse_keyboard_layout() error path 2011-11-11 12:49:51 -06:00
keymaps.h
qemu-spice.h Revert "qemu-char: Print strerror message on failure" and deps 2012-02-24 09:06:56 -06:00
sdl_keysym.h
sdl_zoom_template.h
sdl_zoom.c
sdl_zoom.h
sdl.c sdl: remove NULL check, g_malloc0 can't fail 2012-02-27 09:46:51 +01:00
spice-core.c qxl: require spice >= 0.8.2 2012-02-27 09:46:51 +01:00
spice-display.c qxl: introduce QXLCookie 2012-02-27 09:46:52 +01:00
spice-display.h qxl: make qxl_render_update async 2012-02-27 09:46:52 +01:00
spice-input.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
vnc_keysym.h vnc: added missing name->keysym pairs for Polish national characters 2011-04-01 22:29:27 +02:00
vnc-auth-sasl.c ui/vnc: Convert sasl.mechlist to g_malloc() & friends 2011-11-10 12:29:50 +00:00
vnc-auth-sasl.h
vnc-auth-vencrypt.c Store VNC auth scheme per-client as well as per-server 2011-07-23 11:19:02 -05:00
vnc-auth-vencrypt.h
vnc-enc-hextile-template.h
vnc-enc-hextile.c ui/vnc: Fix use of free() instead of g_free() 2011-11-01 16:52:05 -05:00
vnc-enc-tight.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
vnc-enc-tight.h vnc: tight add PNG encoding 2010-07-26 17:36:14 -05:00
vnc-enc-zlib.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
vnc-enc-zrle-template.c vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zrle.c vnc: fix uint8_t comparisons with negative values 2011-02-23 16:28:28 -06:00
vnc-enc-zrle.h vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zywrle-template.c Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
vnc-enc-zywrle.h Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
vnc-jobs-async.c qemu-thread: add API for joinable threads 2011-12-12 17:06:22 -06:00
vnc-jobs-sync.c vnc: threaded VNC server 2010-07-26 17:36:14 -05:00
vnc-jobs.h vnc: threaded VNC server 2010-07-26 17:36:14 -05:00
vnc-palette.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
vnc-palette.h vnc: palette: and fill and color calls. 2011-02-23 16:28:28 -06:00
vnc-tls.c ui/vnc: Fix use of free() instead of g_free() 2011-11-01 16:52:05 -05:00
vnc-tls.h
vnc.c vnc: Don't demote authentication scheme when changing password/disabling login 2012-02-17 09:58:21 -06:00
vnc.h vnc: implement shared flag handling. 2012-02-10 09:58:33 +01:00
x_keymap.c
x_keymap.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00