mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
spice: use bottom half instead of refresh timer for cursor updates
Calling directly doesn't work due to the qxl-render code running in spice server thread context. Meanwhile bottom half scheduling is thread-safe though, so we can use that to kick a cursor update in main i/o thread context. Cc: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
dfa9c2a0f4
commit
0b2824e5e4
4 changed files with 15 additions and 7 deletions
|
@ -102,6 +102,7 @@ struct SimpleSpiceDisplay {
|
|||
/* cursor (with qxl): qxl local renderer -> displaychangelistener */
|
||||
QEMUCursor *cursor;
|
||||
int mouse_x, mouse_y;
|
||||
QEMUBH *cursor_bh;
|
||||
};
|
||||
|
||||
struct SimpleSpiceUpdate {
|
||||
|
@ -134,7 +135,7 @@ void qemu_spice_display_update(SimpleSpiceDisplay *ssd,
|
|||
void qemu_spice_display_switch(SimpleSpiceDisplay *ssd,
|
||||
DisplaySurface *surface);
|
||||
void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd);
|
||||
void qemu_spice_cursor_refresh_unlocked(SimpleSpiceDisplay *ssd);
|
||||
void qemu_spice_cursor_refresh_bh(void *opaque);
|
||||
|
||||
void qemu_spice_add_memslot(SimpleSpiceDisplay *ssd, QXLDevMemSlot *memslot,
|
||||
qxl_async_io async);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue