summaryrefslogtreecommitdiff
path: root/server/dcc.c
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2016-02-25 18:54:09 +0000
committerFrediano Ziglio <fziglio@redhat.com>2016-03-04 15:47:45 +0000
commite9ed125dbd4b9b5129252cab33ee26d881368425 (patch)
treef2be9ee3f072929d1437e896309e57a7cc523302 /server/dcc.c
parent5916dd8fa62e28d78284d63edf06ddf506a970c0 (diff)
use QXLState instead of RedDispatcher
Considering that: - QXLState is the state of QXLInstance implementation; - RedDispatcher is the implementation of QXL; - qif (QXLInterface*) field can be computed really easy from QXLInstance; - most of its state is private. Make all structure private and use QXLState instead of RedDispatcher. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
Diffstat (limited to 'server/dcc.c')
-rw-r--r--server/dcc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/server/dcc.c b/server/dcc.c
index 74514db4..70a9b997 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -467,7 +467,8 @@ void dcc_start(DisplayChannelClient *dcc)
dcc_create_all_streams(dcc);
}
- if (qxl->st->scanout.drm_dma_buf_fd >= 0) {
+ SpiceMsgDisplayGlScanoutUnix *scanout = red_qxl_get_gl_scanout(qxl->st);
+ if (scanout) {
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));
@@ -476,6 +477,7 @@ void dcc_start(DisplayChannelClient *dcc)
spice_printerr("FIXME: GL not supported on this kind of connection");
}
}
+ red_qxl_put_gl_scanout(qxl->st, scanout);
}
static void dcc_destroy_stream_agents(DisplayChannelClient *dcc)