mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-26 22:48:19 +00:00
The new _ASYNC io's in qxl_dev listed at the end get six new api
functions, and an additional callback function "async_complete". When
the async version of a specific io is used, completion is notified by
calling async_complete, and no READY message is written or expected by
the dispatcher.
update_area has been changed to push QXLRects to the worker thread, where
the conversion to SpiceRect takes place.
A cookie has been added to each async call to QXLWorker, and is passed back via
async_complete.
Added api:
QXLWorker:
update_area_async
add_memslot_async
destroy_surfaces_async
destroy_primary_surface_async
create_primary_surface_async
destroy_surface_wait_async
QXLInterface:
async_complete
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
/*
|
|
Copyright (C) 2009 Red Hat, Inc.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef _H_RED_DISPATCHER
|
|
#define _H_RED_DISPATCHER
|
|
|
|
struct RedDispatcher *red_dispatcher_init(QXLInstance *qxl);
|
|
|
|
void red_dispatcher_set_mm_time(uint32_t);
|
|
void red_dispatcher_on_ic_change(void);
|
|
void red_dispatcher_on_sv_change(void);
|
|
void red_dispatcher_set_mouse_mode(uint32_t mode);
|
|
int red_dispatcher_count(void);
|
|
int red_dispatcher_add_renderer(const char *name);
|
|
uint32_t red_dispatcher_qxl_ram_size(void);
|
|
int red_dispatcher_qxl_count(void);
|
|
void red_dispatcher_async_complete(struct RedDispatcher*, uint64_t);
|
|
|
|
#endif
|
|
|