[Spice-devel] [PATCH 18/18] worker: rename update_area
Jonathon Jongsma
jjongsma at redhat.com
Fri Nov 20 08:00:39 PST 2015
Fine with me.
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Fri, 2015-11-20 at 11:17 +0000, Frediano Ziglio wrote:
> From: Marc-André Lureau <marcandre.lureau at gmail.com>
>
> ---
> server/display-channel.c | 13 +++++++------
> server/display-channel.h | 10 +++++++---
> server/red_worker.c | 24 ++++++++++++------------
> 3 files changed, 26 insertions(+), 21 deletions(-)
>
> diff --git a/server/display-channel.c b/server/display-channel.c
> index 7aa3ea9..0ec27e3 100644
> --- a/server/display-channel.c
> +++ b/server/display-channel.c
> @@ -752,9 +752,10 @@ static int current_add(DisplayChannel *display, Ring
> *ring, Drawable *drawable)
> current_add_drawable(display, drawable, ring);
> } else {
> /*
> - * red_detach_streams_behind can affect the current tree since it may
> - * trigger calls to update_area. Thus, the drawable should be added
> to the tree
> - * before calling red_detach_streams_behind
> + * red_detach_streams_behind can affect the current tree since
> + * it may trigger calls to display_channel_draw. Thus, the
> + * drawable should be added to the tree before calling
> + * red_detach_streams_behind
> */
> current_add_drawable(display, drawable, ring);
> if (is_primary_surface(display, drawable->surface_id)) {
> @@ -1109,7 +1110,7 @@ void display_channel_drawable_unref(DisplayChannel
> *display, Drawable *drawable)
> display->drawable_count--;
> }
>
> -static void drawable_deps_update(DisplayChannel *display, Drawable *drawable)
> +static void drawable_deps_draw(DisplayChannel *display, Drawable *drawable)
> {
> int x;
> int surface_id;
> @@ -1118,7 +1119,7 @@ static void drawable_deps_update(DisplayChannel
> *display, Drawable *drawable)
> surface_id = drawable->surface_deps[x];
> if (surface_id != -1 && drawable->depend_items[x].drawable) {
> depended_item_remove(&drawable->depend_items[x]);
> - red_update_area(display, &drawable->red_drawable
> ->surfaces_rects[x], surface_id);
> + display_channel_draw(display, &drawable->red_drawable
> ->surfaces_rects[x], surface_id);
> }
> }
> }
> @@ -1129,7 +1130,7 @@ void drawable_draw(DisplayChannel *display, Drawable
> *drawable)
> SpiceCanvas *canvas;
> SpiceClip clip = drawable->red_drawable->clip;
>
> - drawable_deps_update(display, drawable);
> + drawable_deps_draw(display, drawable);
>
> surface = &display->surfaces[drawable->surface_id];
> canvas = surface->context.canvas;
> diff --git a/server/display-channel.h b/server/display-channel.h
> index 266df2c..a454218 100644
> --- a/server/display-channel.h
> +++ b/server/display-channel.h
> @@ -250,6 +250,13 @@ typedef struct UpgradeItem {
> } UpgradeItem;
>
>
> +void display_channel_draw
> (DisplayChannel *display,
> + const
> SpiceRect *area,
> + int
> surface_id);
> +void display_channel_draw_till
> (DisplayChannel *display,
> + const
> SpiceRect *area,
> + int
> surface_id,
> +
> Drawable *last);
> void display_channel_free_some
> (DisplayChannel *display);
> void display_channel_set_stream_video
> (DisplayChannel *display,
> int
> stream_video);
> @@ -395,8 +402,5 @@ void detach_streams_behind(DisplayChannel *display,
> QRegion *region, Drawable *d
> void drawable_draw(DisplayChannel *display, Drawable *item);
> void current_remove_all(DisplayChannel *display, int surface_id);
> void drawables_init(DisplayChannel *display);
> -void red_update_area(DisplayChannel *display, const SpiceRect *area, int
> surface_id);
> -void red_update_area_till(DisplayChannel *display, const SpiceRect *area, int
> surface_id,
> - Drawable *last);
>
> #endif /* DISPLAY_CHANNEL_H_ */
> diff --git a/server/red_worker.c b/server/red_worker.c
> index ec488db..150b166 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -494,9 +494,9 @@ static void
> dcc_detach_stream_gracefully(DisplayChannelClient *dcc,
> stream_id, stream->current != NULL);
> rect_debug(&upgrade_area);
> if (update_area_limit) {
> - red_update_area_till(DCC_TO_DC(dcc), &upgrade_area, 0,
> update_area_limit);
> + display_channel_draw_till(DCC_TO_DC(dcc), &upgrade_area, 0,
> update_area_limit);
> } else {
> - red_update_area(DCC_TO_DC(dcc), &upgrade_area, 0);
> + display_channel_draw(DCC_TO_DC(dcc), &upgrade_area, 0);
> }
> dcc_add_surface_area_image(dcc, 0, &upgrade_area, NULL, FALSE);
> }
> @@ -601,7 +601,7 @@ static void red_get_area(DisplayChannel *display, int
> surface_id, const SpiceRec
>
> surface = &display->surfaces[surface_id];
> if (update) {
> - red_update_area(display, area, surface_id);
> + display_channel_draw(display, area, surface_id);
> }
>
> canvas = surface->context.canvas;
> @@ -712,7 +712,7 @@ static inline int
> red_handle_depends_on_target_surface(DisplayChannel *display,
> Drawable *drawable;
> DependItem *depended_item = SPICE_CONTAINEROF(ring_item, DependItem,
> ring_item);
> drawable = depended_item->drawable;
> - red_update_area(display, &drawable->red_drawable->bbox, drawable
> ->surface_id);
> + display_channel_draw(display, &drawable->red_drawable->bbox, drawable
> ->surface_id);
> }
>
> return TRUE;
> @@ -925,7 +925,7 @@ static void validate_area(DisplayChannel *display, const
> SpiceRect *area, uint32
> Renders drawables for updating the requested area, but only drawables
> that are older
> than 'last' (exclusive).
> */
> -void red_update_area_till(DisplayChannel *display, const SpiceRect *area, int
> surface_id,
> +void display_channel_draw_till(DisplayChannel *display, const SpiceRect
> *area, int surface_id,
> Drawable *last)
> {
> RedSurface *surface;
> @@ -992,10 +992,10 @@ void red_update_area_till(DisplayChannel *display, const
> SpiceRect *area, int su
> container = now->tree_item.base.container;
> current_remove_drawable(display, now);
> container_cleanup(container);
> - /* drawable_draw may call red_update_area for the surfaces 'now'
> depends on. Notice,
> - that it is valid to call red_update_area in this case and not
> red_update_area_till:
> + /* drawable_draw may call display_channel_draw for the surfaces 'now'
> depends on. Notice,
> + that it is valid to call display_channel_draw in this case and not
> display_channel_draw_till:
> It is impossible that there was newer item then 'last' in one of
> the surfaces
> - that red_update_area is called for, Otherwise, 'now' would have
> already been rendered.
> + that display_channel_draw is called for, Otherwise, 'now' would
> have already been rendered.
> See the call for red_handle_depends_on_target_surface in
> red_process_draw */
> drawable_draw(display, now);
> display_channel_drawable_unref(display, now);
> @@ -1003,7 +1003,7 @@ void red_update_area_till(DisplayChannel *display, const
> SpiceRect *area, int su
> validate_area(display, area, surface_id);
> }
>
> -void red_update_area(DisplayChannel *display, const SpiceRect *area, int
> surface_id)
> +void display_channel_draw(DisplayChannel *display, const SpiceRect *area, int
> surface_id)
> {
> RedSurface *surface;
> Ring *ring;
> @@ -1176,7 +1176,7 @@ static int red_process_commands(RedWorker *worker,
> uint32_t max_pipe_size, int *
> spice_warning("Invalid surface in QXL_CMD_UPDATE");
> break;
> }
> - red_update_area(worker->display_channel, &update.area,
> update.surface_id);
> + display_channel_draw(worker->display_channel, &update.area,
> update.surface_id);
> worker->qxl->st->qif->notify_update(worker->qxl,
> update.update_id);
> release_info_ext.group_id = ext_cmd.group_id;
> release_info_ext.info = update.release_info;
> @@ -1826,7 +1826,7 @@ static void
> red_add_lossless_drawable_dependencies(RedChannelClient *rcc,
> } else {
> sync_rendered = FALSE;
> for (i = 0; i < num_deps; i++) {
> - red_update_area_till(display, deps_areas[i],
> + display_channel_draw_till(display, deps_areas[i],
> deps_surfaces_ids[i], item);
> }
> }
> @@ -4356,7 +4356,7 @@ void display_channel_update(DisplayChannel *display,
> spice_return_if_fail(validate_surface(display, surface_id));
>
> red_get_rect_ptr(&rect, area);
> - red_update_area(display, &rect, surface_id);
> + display_channel_draw(display, &rect, surface_id);
>
> surface = &display->surfaces[surface_id];
> if (!*qxl_dirty_rects) {
More information about the Spice-devel
mailing list