From 9a4703a3f0c584abc4d9145cbb981354ff30db04 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 19 May 2016 19:58:05 -0400 Subject: [PATCH] qemu: command: Error on accel3d with non-virtio We should be raising an error if accel3d is present for any non-virtio video as well, incase someone tries it for say 'qxl' --- src/qemu/qemu_command.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6944129b86..f3c26f9569 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4066,18 +4066,20 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, virBufferAsprintf(&buf, "%s,id=%s", model, video->info.alias); - if (video->type == VIR_DOMAIN_VIDEO_TYPE_VIRTIO) { - if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_GPU_VIRGL)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - "%s", _("virtio-gpu 3d acceleration is not supported")); - goto error; - } - - virBufferAsprintf(&buf, ",virgl=%s", - virTristateSwitchTypeToString(video->accel->accel3d)); + if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON) { + if (video->type != VIR_DOMAIN_VIDEO_TYPE_VIRTIO || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_GPU_VIRGL)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("%s 3d acceleration is not supported"), + virDomainVideoTypeToString(video->type)); + goto error; } - } else if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL) { + + virBufferAsprintf(&buf, ",virgl=%s", + virTristateSwitchTypeToString(video->accel->accel3d)); + } + + if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL) { if (video->vram > (UINT_MAX / 1024)) { virReportError(VIR_ERR_OVERFLOW, _("value for 'vram' must be less than '%u'"), -- GitLab