virCommandAddArg(cmd, "-display");
virBufferAddLit(&opt, "sdl");
- if (graphics->data.sdl.gl != VIR_TRISTATE_BOOL_ABSENT) {
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL_GL)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("OpenGL for SDL is not supported with this QEMU "
- "binary"));
- return -1;
- }
-
+ if (graphics->data.sdl.gl != VIR_TRISTATE_BOOL_ABSENT)
virBufferAsprintf(&opt, ",gl=%s",
virTristateSwitchTypeToString(graphics->data.sdl.gl));
- }
-
virCommandAddArgBuffer(cmd, &opt);
return 0;
break;
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unsupported graphics type '%s'"),
- virDomainGraphicsTypeToString(graphics->type));
return -1;
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
default:
}
}
+ switch (graphics->type) {
+ case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
+ if (graphics->data.sdl.gl != VIR_TRISTATE_BOOL_ABSENT) {
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL_GL)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("OpenGL for SDL is not supported with this QEMU "
+ "binary"));
+ return -1;
+ }
+ }
+ break;
+
+ case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
+ case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unsupported graphics type '%s'"),
+ virDomainGraphicsTypeToString(graphics->type));
+ return -1;
+ case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
+ default:
+ return -1;
+ }
+
return 0;
}
QEMU_CAPS_VIRTIO_GPU_VIRGL);
DO_TEST("video-virtio-gpu-sdl-gl",
QEMU_CAPS_DEVICE_VIRTIO_GPU,
- QEMU_CAPS_VIRTIO_GPU_VIRGL);
+ QEMU_CAPS_VIRTIO_GPU_VIRGL,
+ QEMU_CAPS_SDL_GL);
DO_TEST("virtio-input",
QEMU_CAPS_VIRTIO_KEYBOARD,