aboutsummaryrefslogtreecommitdiff
path: root/hw/display/virtio-gpu.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-02-23 12:38:14 +1000
committerGerd Hoffmann <kraxel@redhat.com>2018-02-26 13:41:34 +0100
commit5643cc94ac1cbc23e1ba6b16b6a88e1ce7b3f6a9 (patch)
tree97be33483f530dc4314324204926a06f0b318d01 /hw/display/virtio-gpu.c
parent0a773d55ac76c5aa89ed9187a3bc5af8c5c2a6d0 (diff)
downloadqemu-5643cc94ac1cbc23e1ba6b16b6a88e1ce7b3f6a9.zip
qemu-5643cc94ac1cbc23e1ba6b16b6a88e1ce7b3f6a9.tar.gz
qemu-5643cc94ac1cbc23e1ba6b16b6a88e1ce7b3f6a9.tar.bz2
virtio-gpu-3d: add support for second capability set (v4)
Due to a kernel bug we can never increase the size of capability set 1, so introduce a new capability set in parallel, old userspace will continue to use the old set, new userspace will start using the new one when it detects a fixed kernel. v2: don't use a define from virglrenderer, just probe it. v3: fix compilation when virglrenderer disabled v4: fix style warning, just use ?: op instead. Signed-off-by: Dave Airlie <airlied@redhat.com> Message-id: 20180223023814.24459-1-airlied@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/virtio-gpu.c')
-rw-r--r--hw/display/virtio-gpu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 6658f6c..2dd3c34 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1215,7 +1215,12 @@ static void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
/* use larger control queue in 3d mode */
g->ctrl_vq = virtio_add_queue(vdev, 256, virtio_gpu_handle_ctrl_cb);
g->cursor_vq = virtio_add_queue(vdev, 16, virtio_gpu_handle_cursor_cb);
- g->virtio_config.num_capsets = 1;
+
+#if defined(CONFIG_VIRGL)
+ g->virtio_config.num_capsets = virtio_gpu_virgl_get_num_capsets(g);
+#else
+ g->virtio_config.num_capsets = 0;
+#endif
} else {
g->ctrl_vq = virtio_add_queue(vdev, 64, virtio_gpu_handle_ctrl_cb);
g->cursor_vq = virtio_add_queue(vdev, 16, virtio_gpu_handle_cursor_cb);