From: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- contrib/vhost-user-gpu/vugpu.h | 1 + contrib/vhost-user-gpu/vhost-user-gpu.c | 24 ++++++++++++++++-------- contrib/vhost-user-gpu/virgl.c | 8 +------- 3 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/contrib/vhost-user-gpu/vugpu.h b/contrib/vhost-user-gpu/vugpu.h index 04d5615812..e19abb670d 100644 --- a/contrib/vhost-user-gpu/vugpu.h +++ b/contrib/vhost-user-gpu/vugpu.h @@ -179,5 +179,6 @@ void vg_send_msg(VuGpu *g, const VhostUserGpuMsg *msg, int fd); bool vg_recv_msg(VuGpu *g, uint32_t expect_req, uint32_t expect_size, gpointer payload); +void vg_send_disable_scanout(VuGpu *g, int scanout_id); #endif diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c index f73f292c9f..69fedd376b 100644 --- a/contrib/vhost-user-gpu/vhost-user-gpu.c +++ b/contrib/vhost-user-gpu/vhost-user-gpu.c @@ -356,6 +356,21 @@ vg_resource_create_2d(VuGpu *g, QTAILQ_INSERT_HEAD(&g->reslist, res, next); } +void +vg_send_disable_scanout(VuGpu *g, int scanout_id) +{ + g_debug("send disable scanout %d", scanout_id); + + if (g->sock_fd >= 0) { + VhostUserGpuMsg msg = { + .request = VHOST_USER_GPU_SCANOUT, + .size = sizeof(VhostUserGpuScanout), + .payload.scanout.scanout_id = scanout_id, + }; + vg_send_msg(g, &msg, -1); + } +} + static void vg_disable_scanout(VuGpu *g, int scanout_id) { @@ -374,14 +389,7 @@ vg_disable_scanout(VuGpu *g, int scanout_id) scanout->width = 0; scanout->height = 0; - if (g->sock_fd >= 0) { - VhostUserGpuMsg msg = { - .request = VHOST_USER_GPU_SCANOUT, - .size = sizeof(VhostUserGpuScanout), - .payload.scanout.scanout_id = scanout_id, - }; - vg_send_msg(g, &msg, -1); - } + vg_send_disable_scanout(g, scanout_id); } static void diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c index 9e6660c7ab..fe153425f5 100644 --- a/contrib/vhost-user-gpu/virgl.c +++ b/contrib/vhost-user-gpu/virgl.c @@ -354,13 +354,7 @@ virgl_cmd_set_scanout(VuGpu *g, vg_send_msg(g, &msg, fd); close(fd); } else { - VhostUserGpuMsg msg = { - .request = VHOST_USER_GPU_DMABUF_SCANOUT, - .size = sizeof(VhostUserGpuDMABUFScanout), - .payload.dmabuf_scanout.scanout_id = ss.scanout_id, - }; - g_debug("disable scanout"); - vg_send_msg(g, &msg, -1); + vg_send_disable_scanout(g, ss.scanout_id); } g->scanout[ss.scanout_id].resource_id = ss.resource_id; } -- 2.29.0