aboutsummaryrefslogtreecommitdiff
path: root/hw/display/virtio-gpu-3d.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2015-12-02 08:17:24 +0100
committerGerd Hoffmann <kraxel@redhat.com>2016-02-03 10:41:36 +0100
commit321c9adba5a64a1a9de2dd7db5433b62a5433439 (patch)
treef2d8113970dad26531c6e3e682e9255fd1d01c87 /hw/display/virtio-gpu-3d.c
parent0c55a1cfd35c1f1b10cc448d05c1e4ef3a0768d1 (diff)
virtio-gpu: block any rendering until client (ui) is done
Wire up gl_block callback, so ui code can request to stop virtio-gpu rendering. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/virtio-gpu-3d.c')
-rw-r--r--hw/display/virtio-gpu-3d.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c
index 6f646b1eb3..fa192946a3 100644
--- a/hw/display/virtio-gpu-3d.c
+++ b/hw/display/virtio-gpu-3d.c
@@ -383,6 +383,11 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
{
VIRTIO_GPU_FILL_CMD(cmd->cmd_hdr);
+ cmd->waiting = g->renderer_blocked;
+ if (cmd->waiting) {
+ return;
+ }
+
virgl_renderer_force_ctx_0();
switch (cmd->cmd_hdr.type) {
case VIRTIO_GPU_CMD_CTX_CREATE: