aboutsummaryrefslogtreecommitdiff
path: root/hw/display/virtio-gpu.c
diff options
context:
space:
mode:
authorAntonio Caggiano <antonio.caggiano@collabora.com>2024-10-25 00:03:11 +0300
committerAlex Bennée <alex.bennee@linaro.org>2024-10-28 16:56:36 +0000
commit94d0ea1c19289d76ced934711fccd2269e69bb29 (patch)
tree4fb102e07cb3763894f0eb9afe389645bc89b5af /hw/display/virtio-gpu.c
parent1333fd0693a87bd509c025e6212fcfeced948a15 (diff)
downloadqemu-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.c15
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,