[Spice-devel] [PATCH 07/11] Move some more drawable functions to display channel
Frediano Ziglio
fziglio at redhat.com
Mon Nov 16 05:40:58 PST 2015
>
> On Mon, Nov 16, 2015 at 12:06 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
> > From: Jonathon Jongsma <jjongsma at redhat.com>
> >
> > ---
> > server/display-channel.h | 26 ++++++++++++++++++++++++++
> > server/red_worker.c | 30 ++----------------------------
> > 2 files changed, 28 insertions(+), 28 deletions(-)
> >
> > diff --git a/server/display-channel.h b/server/display-channel.h
> > index 2fdcd97..edbd4b9 100644
> > --- a/server/display-channel.h
> > +++ b/server/display-channel.h
> > @@ -498,6 +498,23 @@ static inline int is_same_drawable(Drawable *d1,
> > Drawable *d2)
> > }
> > }
> >
> > +static inline int is_drawable_independent_from_surfaces(Drawable
> > *drawable)
> > +{
> > + int x;
> > +
> > + for (x = 0; x < 3; ++x) {
> > + if (drawable->surface_deps[x] != -1) {
> > + return FALSE;
> > + }
> > + }
> > + return TRUE;
> > +}
> > +
> > +static inline int has_shadow(RedDrawable *drawable)
> > +{
> > + return drawable->type == QXL_COPY_BITS;
> > +}
> > +
> > static inline int is_primary_surface(DisplayChannel *display, uint32_t
> > surface_id)
> > {
> > if (surface_id == 0) {
> > @@ -506,4 +523,13 @@ static inline int is_primary_surface(DisplayChannel
> > *display, uint32_t surface_i
> > return FALSE;
> > }
> >
> > +static inline void region_add_clip_rects(QRegion *rgn, SpiceClipRects
> > *data)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < data->num_rects; i++) {
> > + region_add(rgn, data->rects + i);
> > + }
> > +}
> > +
> > #endif /* DISPLAY_CHANNEL_H_ */
> > diff --git a/server/red_worker.c b/server/red_worker.c
> > index 4734187..0d17085 100644
> > --- a/server/red_worker.c
> > +++ b/server/red_worker.c
> > @@ -1863,18 +1863,6 @@ static void
> > display_channel_stream_maintenance(DisplayChannel *display,
> > }
> > }
> >
> > -static inline int is_drawable_independent_from_surfaces(Drawable
> > *drawable)
> > -{
> > - int x;
> > -
> > - for (x = 0; x < 3; ++x) {
> > - if (drawable->surface_deps[x] != -1) {
> > - return FALSE;
> > - }
> > - }
> > - return TRUE;
> > -}
> > -
> > static inline int red_current_add_equal(DisplayChannel *display, DrawItem
> > *item, TreeItem *other)
> > {
> > DrawItem *other_draw_item;
> > @@ -2145,15 +2133,6 @@ static int current_add(DisplayChannel *display, Ring
> > *ring, Drawable *drawable)
> > return TRUE;
> > }
> >
> > -static void add_clip_rects(QRegion *rgn, SpiceClipRects *data)
> > -{
> > - int i;
> > -
> > - for (i = 0; i < data->num_rects; i++) {
> > - region_add(rgn, data->rects + i);
> > - }
> > -}
> > -
> > static int current_add_with_shadow(DisplayChannel *display, Ring *ring,
> > Drawable *item)
> > {
> > #ifdef RED_WORKER_STAT
> > @@ -2198,11 +2177,6 @@ static int current_add_with_shadow(DisplayChannel
> > *display, Ring *ring, Drawable
> > return TRUE;
> > }
> >
> > -static inline int has_shadow(RedDrawable *drawable)
> > -{
> > - return drawable->type == QXL_COPY_BITS;
> > -}
> > -
> > static void drawable_update_streamable(DisplayChannel *display, Drawable
> > *drawable)
> > {
> > RedDrawable *red_drawable = drawable->red_drawable;
> > @@ -2556,7 +2530,7 @@ static inline void red_process_draw(RedWorker
> > *worker, RedDrawable *red_drawable
> > QRegion rgn;
> >
> > region_init(&rgn);
> > - add_clip_rects(&rgn, red_drawable->clip.rects);
> > + region_add_clip_rects(&rgn, red_drawable->clip.rects);
> > region_and(&drawable->tree_item.base.rgn, &rgn);
> > region_destroy(&rgn);
> > }
> > @@ -4983,7 +4957,7 @@ static void
> > surface_lossy_region_update(DisplayChannelClient *dcc,
> > region_init(&clip_rgn);
> > region_init(&draw_region);
> > region_add(&draw_region, &drawable->bbox);
> > - add_clip_rects(&clip_rgn, drawable->clip.rects);
> > + region_add_clip_rects(&clip_rgn, drawable->clip.rects);
> > region_and(&draw_region, &clip_rgn);
> > if (lossy) {
> > region_or(surface_lossy_region, &draw_region);
> > --
> > 2.4.3
> >
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
> Seems good, ACK!
>
Merged
Frediano
More information about the Spice-devel
mailing list