[Spice-devel] [PATCH 18/18] worker: rename update_area

Fabiano Fidêncio fabiano at fidencio.org
Fri Nov 20 08:50:51 PST 2015


On Fri, Nov 20, 2015 at 5:00 PM, Jonathon Jongsma <jjongsma at redhat.com> wrote:
> 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) {
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

ACK!

-- 
Fabiano Fidêncio


More information about the Spice-devel mailing list