[Spice-devel] [spice-server 5/8] Use QXLInstance instead of QXLState in red_qxl_*

Christophe Fergeau cfergeau at redhat.com
Thu Mar 17 15:35:37 UTC 2016


On Tue, Mar 15, 2016 at 05:25:09PM -0400, Frediano Ziglio wrote:
> > 
> > This seems to make more sense this way, QXLInstance is the 'main' object
> > with QXLState being its private data. External users then use QXLInstance
> > rather than passing a pointer to the private data to red-qxl.h methods.
> > ---
> >  server/dcc-send.c        |   4 +-
> >  server/display-channel.c |   2 +-
> >  server/red-qxl.c         | 123
> >  ++++++++++++++++++++++++-----------------------
> >  server/red-qxl.h         |  36 +++++++-------
> >  server/red-worker.c      |   4 +-
> >  server/reds-private.h    |   2 +-
> >  server/reds.c            |  87 +++++++++++++++++----------------
> >  7 files changed, 132 insertions(+), 126 deletions(-)
> > 
> > diff --git a/server/dcc-send.c b/server/dcc-send.c
> > index 16c5098..a1f9214 100644
> > --- a/server/dcc-send.c
> > +++ b/server/dcc-send.c
> > @@ -2307,12 +2307,12 @@ static void marshall_gl_scanout(RedChannelClient
> > *rcc,
> >      DisplayChannel *display_channel = DCC_TO_DC(dcc);
> >      QXLInstance* qxl = display_channel->common.qxl;
> >  
> > -    SpiceMsgDisplayGlScanoutUnix *so = red_qxl_get_gl_scanout(qxl->st);
> > +    SpiceMsgDisplayGlScanoutUnix *so = red_qxl_get_gl_scanout(qxl);
> >      if (so != NULL) {
> >          red_channel_client_init_send_data(rcc,
> >          SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX, NULL);
> >          spice_marshall_msg_display_gl_scanout_unix(m, so);
> >      }
> > -    red_qxl_put_gl_scanout(qxl->st, so);
> > +    red_qxl_put_gl_scanout(qxl, so);
> >  }
> >  
> >  static void marshall_gl_draw(RedChannelClient *rcc,
> > diff --git a/server/display-channel.c b/server/display-channel.c
> > index ff9aeac..f5f3527 100644
> > --- a/server/display-channel.c
> > +++ b/server/display-channel.c
> > @@ -2163,7 +2163,7 @@ static void set_gl_draw_async_count(DisplayChannel
> > *display, int num)
> >      display->gl_draw_async_count = num;
> >  
> >      if (num == 0) {
> > -        red_qxl_gl_draw_async_complete(qxl->st);
> > +        red_qxl_gl_draw_async_complete(qxl);
> >      }
> >  }
> >  
> > diff --git a/server/red-qxl.c b/server/red-qxl.c
> > index 408159d..1550ec8 100644
> > --- a/server/red-qxl.c
> > +++ b/server/red-qxl.c
> > @@ -63,10 +63,10 @@ struct QXLState {
> >      struct AsyncCommand *gl_draw_async;
> >  };
> >  
> > -static int red_qxl_check_qxl_version(QXLState *rq, int major, int minor)
> > +int red_qxl_check_qxl_version(QXLInstance *qxl, int major, int minor)
> >  {
> 
> This change should go in 8/8.

The s/static// part of it, yes, small rebase failure. I'll send a v2
with this changed.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160317/7062cd81/attachment.sig>


More information about the Spice-devel mailing list