[Spice-devel] [spice-server 5/8] Use QXLInstance instead of QXLState in red_qxl_*
Frediano Ziglio
fziglio at redhat.com
Thu Mar 17 16:27:50 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
>
Acked-by: Frediano Ziglio <fziglio at redhat.com>
Frediano
More information about the Spice-devel
mailing list