[Spice-devel] [PATCH server v2 11/13] Send current GL scanout to new client

Marc-André Lureau mlureau at redhat.com
Fri Jan 22 06:10:23 PST 2016


Hi

----- Original Message -----
> > 
> > Signed-off-by: Marc-André Lureau <marcandre.lureau at gmail.com>
> > ---
> >  server/dcc.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/server/dcc.c b/server/dcc.c
> > index 3161375..193d630 100644
> > --- a/server/dcc.c
> > +++ b/server/dcc.c
> > @@ -445,6 +445,7 @@ void dcc_start(DisplayChannelClient *dcc)
> >  {
> >      DisplayChannel *display = DCC_TO_DC(dcc);
> >      RedChannelClient *rcc = RED_CHANNEL_CLIENT(dcc);
> > +    QXLInstance *qxl =
> > red_worker_get_qxl(COMMON_CHANNEL(display)->worker);
> >  
> >      red_channel_client_push_set_ack(RED_CHANNEL_CLIENT(dcc));
> >  
> > @@ -464,6 +465,16 @@ void dcc_start(DisplayChannelClient *dcc)
> >          red_pipe_add_verb(rcc, SPICE_MSG_DISPLAY_MARK);
> >          dcc_create_all_streams(dcc);
> >      }
> > +
> > +    if (qxl->st->scanout.drm_dma_buf_fd >= 0) {
> > +        if (reds_stream_is_plain_unix(rcc->stream) &&
> > +            red_channel_client_test_remote_cap(rcc,
> > SPICE_DISPLAY_CAP_GL_SCANOUT)) {
> > +            red_channel_client_pipe_add(rcc, dcc_gl_scanout_item_new(rcc,
> > NULL, 0));
> > +            dcc_push_monitors_config(dcc);
> > +        } else {
> > +            spice_printerr("FIXME: GL not supported on this kind of
> > connection");
> > +        }
> > +    }
> >  }
> >  
> >  static void dcc_destroy_stream_agents(DisplayChannelClient *dcc)
> 
> Yes, I think definitively scanout should be in DisplayChannel

See discussion in previous mail. (using definitively without arguments is moot you know)


More information about the Spice-devel mailing list