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
2012-01-26 14:49:18 +01:00
2012-02-27 09:46:52 +01:00
2012-02-10 10:48:09 +00:00
2012-02-21 10:21:05 +01:00
2012-02-22 17:23:50 -02:00
2012-01-21 05:17:02 +01:00
2012-02-11 11:03:50 +00:00
2012-02-23 10:35:24 +01:00
2012-02-27 09:46:52 +01:00
2011-11-07 10:57:36 -06:00
2009-09-12 07:36:22 +00:00
2012-01-13 10:55:56 -06:00
2012-02-17 09:58:22 -06:00
2011-12-02 10:50:57 +00:00
2011-08-27 15:42:35 +00:00
2011-10-21 18:14:30 +02:00
2011-12-06 11:40:01 -02:00
2011-12-06 11:40:01 -02:00
2012-02-22 17:23:50 -02:00
2012-01-18 10:23:39 -02:00
2011-09-16 08:26:31 -05:00
2012-01-13 10:37:00 +00:00
2010-11-01 00:54:06 +03:00
2012-01-12 10:05:37 -06:00
2012-01-12 10:05:37 -06:00
2012-01-12 10:05:37 -06:00
2012-01-12 10:05:38 -06:00
2011-11-07 08:01:15 +00:00
2012-02-09 16:17:51 +01:00
2012-02-27 09:46:51 +01:00
2012-01-04 13:34:50 +02:00
2012-01-04 13:34:50 +02:00
2011-12-15 09:20:50 -06:00
2011-11-01 10:58:08 -05:00
2012-01-10 09:36:43 +01:00
2011-10-31 21:52:17 +01:00
2011-10-31 21:52:17 +01:00
2012-02-22 13:29:07 +01:00
2011-09-10 16:57:36 +00:00
2009-09-12 07:36:22 +00:00
2011-06-07 13:52:10 -05:00
2011-12-02 10:50:57 +00:00
2011-01-20 20:54:21 +00:00
2011-12-02 10:50:57 +00:00
2011-08-27 15:42:35 +00:00
2011-08-27 15:42:35 +00:00
2011-10-16 13:13:05 +02:00
2011-10-21 18:14:30 +02:00
2009-10-01 16:12:16 -05:00
2011-10-11 15:57:07 +02:00
2011-10-11 15:57:07 +02:00
2010-11-21 09:16:57 -06:00
2012-01-13 10:55:56 -06:00
2011-08-04 15:51:22 +02:00
2011-06-14 03:08:57 +02:00
2011-12-09 11:25:22 +00:00
2011-12-02 10:50:57 +00:00
2010-03-21 08:28:47 +00:00
2012-02-17 08:33:32 -06:00
2011-08-27 15:42:35 +00:00
2012-01-13 10:55:56 -06:00
2012-02-15 09:39:21 -06:00
2012-02-24 13:36:04 -06:00
2012-02-24 13:36:04 -06:00
2011-12-22 11:53:59 +01:00
2011-12-22 11:53:59 +01:00
2012-02-04 11:49:34 +00:00
2012-02-01 16:24:40 -06:00
2012-02-17 08:33:32 -06:00
2012-02-17 08:33:32 -06:00
2011-12-22 11:53:58 +01:00
2011-02-09 10:33:54 +02:00
2012-01-13 10:55:56 -06:00
2012-01-10 18:23:58 +01:00
2012-01-10 18:23:58 +01:00
2009-11-17 08:49:39 -06:00
2010-07-01 14:27:13 -03:00
2009-10-27 12:28:59 -05:00
2012-02-03 10:41:08 -06:00
2010-09-21 18:36:42 +02:00
2012-02-17 12:41:59 +01:00
2010-05-19 12:45:54 -03:00
2011-10-21 18:14:30 +02:00
2012-02-17 08:33:33 -06:00
2011-03-13 14:44:22 +00:00
2011-12-15 09:20:50 -06:00
2012-02-17 08:33:32 -06:00
2011-12-06 10:07:04 +00:00
2009-11-17 08:49:38 -06:00
2010-05-19 12:45:54 -03:00
2010-10-01 10:12:43 -03:00
2011-07-21 16:48:13 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-09-18 05:53:14 +00:00
2011-12-11 17:50:43 -06:00
2011-10-01 09:31:08 +00:00
2011-10-01 09:31:08 +00:00
2011-10-01 09:31:08 +00:00
2012-01-04 13:34:50 +02:00
2011-07-23 11:26:12 -05:00
2011-08-27 15:42:35 +00:00
2010-03-14 22:04:50 +01:00
2011-10-31 21:52:17 +01:00
2012-02-22 09:02:19 -06:00
2009-10-01 16:12:16 -05:00
2011-08-27 15:42:35 +00:00
2011-09-10 16:57:39 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Readme 531 MiB
Languages
C 82.5%
C++ 7%
Python 3.3%
Dylan 2.8%
Shell 1.5%
Other 2.6%