diff options
author | Antonio Caggiano <antonio.caggiano@collabora.com> | 2024-10-25 00:03:11 +0300 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-10-28 16:56:36 +0000 |
commit | 94d0ea1c19289d76ced934711fccd2269e69bb29 (patch) | |
tree | 4fb102e07cb3763894f0eb9afe389645bc89b5af /hw/display/virtio-gpu.c | |
parent | 1333fd0693a87bd509c025e6212fcfeced948a15 (diff) | |
download | qemu-94d0ea1c19289d76ced934711fccd2269e69bb29.zip qemu-94d0ea1c19289d76ced934711fccd2269e69bb29.tar.gz qemu-94d0ea1c19289d76ced934711fccd2269e69bb29.tar.bz2 |
virtio-gpu: Support Venus context
Request Venus when initializing VirGL and if venus=true flag is set for
virtio-gpu-gl device.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-14-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'hw/display/virtio-gpu.c')
-rw-r--r-- | hw/display/virtio-gpu.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c index b6cd9fe..c0570ef 100644 --- a/hw/display/virtio-gpu.c +++ b/hw/display/virtio-gpu.c @@ -1477,6 +1477,21 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp) #endif } + if (virtio_gpu_venus_enabled(g->parent_obj.conf)) { +#ifdef VIRGL_VERSION_MAJOR + #if VIRGL_VERSION_MAJOR >= 1 + if (!virtio_gpu_blob_enabled(g->parent_obj.conf) || + !virtio_gpu_hostmem_enabled(g->parent_obj.conf)) { + error_setg(errp, "venus requires enabled blob and hostmem options"); + return; + } + #else + error_setg(errp, "old virglrenderer, venus unsupported"); + return; + #endif +#endif + } + if (!virtio_gpu_base_device_realize(qdev, virtio_gpu_handle_ctrl_cb, virtio_gpu_handle_cursor_cb, |