diff options
author | Dave Airlie <airlied@redhat.com> | 2018-02-23 12:38:14 +1000 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2018-02-26 13:41:34 +0100 |
commit | 5643cc94ac1cbc23e1ba6b16b6a88e1ce7b3f6a9 (patch) | |
tree | 97be33483f530dc4314324204926a06f0b318d01 /hw/display/virtio-gpu.c | |
parent | 0a773d55ac76c5aa89ed9187a3bc5af8c5c2a6d0 (diff) | |
download | qemu-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.c | 7 |
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); |