mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-03 15:58:43 +00:00
Check client is using unix sockets in dcc_gl_draw_item_new
Currently this is simply avoided by the fact that Virgl with 3d means Unix socket. Once you enable (in Qemu) tcp sockets this message will be added to all clients (supposing multiple clients) so potentially will be in all queues. The same check is done for dcc_gl_scanout_item_new. dcc_gl_scanout_item_new is called when Qemu calls spice_qxl_gl_draw_async. Technically a client can support SPICE_DISPLAY_CAP_GL_SCANOUT but server cannot send the DRM prime directly as this require a unix socket so if the test for SPICE_DISPLAY_CAP_GL_SCANOUT is done here it make sense to do the check for the socket type too. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
This commit is contained in:
parent
46a4543d9d
commit
fd888a0bfd
@ -578,7 +578,8 @@ RedPipeItem *dcc_gl_draw_item_new(RedChannelClient *rcc, void *data, int num)
|
||||
const SpiceMsgDisplayGlDraw *draw = data;
|
||||
RedGlDrawItem *item;
|
||||
|
||||
if (!red_channel_client_test_remote_cap(rcc, SPICE_DISPLAY_CAP_GL_SCANOUT)) {
|
||||
if (!reds_stream_is_plain_unix(red_channel_client_get_stream(rcc)) ||
|
||||
!red_channel_client_test_remote_cap(rcc, SPICE_DISPLAY_CAP_GL_SCANOUT)) {
|
||||
spice_printerr("FIXME: client does not support GL scanout");
|
||||
red_channel_client_disconnect(rcc);
|
||||
return NULL;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user