]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuBuildDeviceVideoStr: Separate out video module selection
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 11 Jun 2021 11:22:34 +0000 (13:22 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 11 Jun 2021 19:53:42 +0000 (21:53 +0200)
The code that decides video card model is going to be reworked
and expanded. Separate it out into a function.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_command.c

index 4b676fe8fca48837515d99ffd365b3f201ea196b..7ca099bb3917c140220ebc89d35d29e8b7e9f6b6 100644 (file)
@@ -4195,18 +4195,11 @@ qemuBuildSoundCommandLine(virCommand *cmd,
 }
 
 
-
-static char *
-qemuBuildDeviceVideoStr(const virDomainDef *def,
-                        virDomainVideoDef *video,
-                        virQEMUCaps *qemuCaps)
+static const char *
+qemuDeviceVideoGetModel(virQEMUCaps *qemuCaps,
+                        const virDomainVideoDef *video)
 {
-    g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
     const char *model = NULL;
-    virTristateSwitch accel3d = VIR_TRISTATE_SWITCH_ABSENT;
-
-    if (video->accel)
-        accel3d = video->accel->accel3d;
 
     /* We try to chose the best model for primary video device by preferring
      * model with VGA compatibility mode.  For some video devices on some
@@ -4231,6 +4224,25 @@ qemuBuildDeviceVideoStr(const virDomainDef *def,
         return NULL;
     }
 
+    return model;
+}
+
+
+static char *
+qemuBuildDeviceVideoStr(const virDomainDef *def,
+                        virDomainVideoDef *video,
+                        virQEMUCaps *qemuCaps)
+{
+    g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+    const char *model = NULL;
+    virTristateSwitch accel3d = VIR_TRISTATE_SWITCH_ABSENT;
+
+    if (video->accel)
+        accel3d = video->accel->accel3d;
+
+    if (!(model = qemuDeviceVideoGetModel(qemuCaps, video)))
+        return NULL;
+
     if (STREQ(model, "virtio-gpu") || STREQ(model, "vhost-user-gpu")) {
         if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_GPU_GL_PCI) &&
             accel3d == VIR_TRISTATE_SWITCH_ON &&