[Spice-devel] [PATCH] Simplify set_surface_release_info
Christophe Fergeau
cfergeau at redhat.com
Thu Aug 27 08:11:32 PDT 2015
On Tue, Aug 25, 2015 at 11:35:56AM +0100, Frediano Ziglio wrote:
> ---
> server/red_worker.c | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 7966f91..1512709 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -1772,20 +1772,11 @@ static inline void red_destroy_surface(RedWorker *worker, uint32_t surface_id)
> }
> }
>
> -static inline void set_surface_release_info(RedWorker *worker, uint32_t surface_id, int is_create,
> +static inline void set_surface_release_info(QXLReleaseInfoExt *release_info_ext,
> QXLReleaseInfo *release_info, uint32_t group_id)
> {
> - RedSurface *surface;
> -
> - surface = &worker->surfaces[surface_id];
> -
> - if (is_create) {
> - surface->create.info = release_info;
> - surface->create.group_id = group_id;
> - } else {
> - surface->destroy.info = release_info;
> - surface->destroy.group_id = group_id;
> - }
> + release_info_ext->info = release_info;
> + release_info_ext->group_id = group_id;
> }
>
> static RedDrawable *ref_red_drawable(RedDrawable *drawable)
> @@ -4302,12 +4293,12 @@ static inline void red_process_surface(RedWorker *worker, RedSurfaceCmd *surface
> reloaded_surface,
> // reloaded surfaces will be sent on demand
> !reloaded_surface);
> - set_surface_release_info(worker, surface_id, 1, surface->release_info, group_id);
> + set_surface_release_info(&red_surface->create, surface->release_info, group_id);
> break;
> }
> case QXL_SURFACE_CMD_DESTROY:
> spice_warn_if(!red_surface->context.canvas);
> - set_surface_release_info(worker, surface_id, 0, surface->release_info, group_id);
> + set_surface_release_info(&red_surface->destroy, surface->release_info, group_id);
> red_handle_depends_on_target_surface(worker, surface_id);
> /* note that red_handle_depends_on_target_surface must be called before red_current_clear.
> otherwise "current" will hold items that other drawables may depend on, and then
A bit torn on this one, as in general I prefer to have helpers acting on
higher level objects and hide how they work internally rather than
exposing this to the caller. In this case, why not, ACK.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150827/91917ad1/attachment.sig>
More information about the Spice-devel
mailing list