[Spice-devel] [PATCH v6 2/9] server: api: add spice_qxl_* calls based on QXLWorker contents
Christophe Fergeau
cfergeau at redhat.com
Wed Jul 20 01:53:49 PDT 2011
On Wed, Jul 20, 2011 at 11:19:52AM +0300, Alon Levy wrote:
> -static void qxl_worker_update_area(QXLWorker *qxl_worker, uint32_t surface_id,
> +static void red_dispatcher_update_area(RedDispatcher *dispatcher, uint32_t surface_id,
> QXLRect *qxl_area, QXLRect *qxl_dirty_rects,
> uint32_t num_dirty_rects, uint32_t clear_dirty_region)
> {
> - RedDispatcher *dispatcher = (RedDispatcher *)qxl_worker;
> RedWorkerMessage message = RED_WORKER_MESSAGE_UPDATE;
> SpiceRect *dirty_rects = spice_new0(SpiceRect, num_dirty_rects);
> SpiceRect *area = spice_new0(SpiceRect, 1);
> @@ -241,9 +240,16 @@ static void qxl_worker_update_area(QXLWorker *qxl_worker, uint32_t surface_id,
> free(area);
> }
>
> -static void qxl_worker_add_memslot(QXLWorker *qxl_worker, QXLDevMemSlot *mem_slot)
> +static void qxl_worker_update_area(QXLWorker *qxl_worker, uint32_t surface_id,
> + QXLRect *qxl_area, QXLRect *qxl_dirty_rects,
> + uint32_t num_dirty_rects, uint32_t clear_dirty_region)
> +{
> + red_dispatcher_update_area((RedDispatcher*)qxl_worker, surface_id, qxl_area,
> + qxl_dirty_rects, num_dirty_rects, clear_dirty_region);
> +}
Aren't red_dispatcher_update_area/qxl_worker_update_area redundant? Can't
we just keep the old qxl_worker_update_area and do the cast in there?
> diff --git a/server/spice.h b/server/spice.h
> index f64ff41..86d9ffe 100644
> --- a/server/spice.h
> +++ b/server/spice.h
> @@ -124,6 +124,25 @@ struct QXLWorker {
> void (*loadvm_commands)(QXLWorker *worker, struct QXLCommandExt *ext, uint32_t count);
> };
Will the function pointer above go away? My understanding is that the
functions added below are meant to replace these?
>
> +void spice_qxl_wakeup(QXLInstance *instance);
> +void spice_qxl_oom(QXLInstance *instance);
> +void spice_qxl_start(QXLInstance *instance);
> +void spice_qxl_stop(QXLInstance *instance);
> +void spice_qxl_update_area(QXLInstance *instance, uint32_t surface_id,
> + struct QXLRect *area, struct QXLRect *dirty_rects,
> + uint32_t num_dirty_rects, uint32_t clear_dirty_region);
> +void spice_qxl_add_memslot(QXLInstance *instance, QXLDevMemSlot *slot);
> +void spice_qxl_del_memslot(QXLInstance *instance, uint32_t slot_group_id, uint32_t slot_id);
> +void spice_qxl_reset_memslots(QXLInstance *instance);
> +void spice_qxl_destroy_surfaces(QXLInstance *instance);
> +void spice_qxl_destroy_primary_surface(QXLInstance *instance, uint32_t surface_id);
> +void spice_qxl_create_primary_surface(QXLInstance *instance, uint32_t surface_id,
> + QXLDevSurfaceCreate *surface);
> +void spice_qxl_reset_image_cache(QXLInstance *instance);
> +void spice_qxl_reset_cursor(QXLInstance *instance);
> +void spice_qxl_destroy_surface_wait(QXLInstance *instance, uint32_t surface_id);
> +void spice_qxl_loadvm_commands(QXLInstance *instance, struct QXLCommandExt *ext, uint32_t count);
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20110720/b4e318f9/attachment.pgp>
More information about the Spice-devel
mailing list