]> xenbits.xensource.com Git - libvirt.git/commitdiff
domain: conf: graphics: Fix picking DRI renderer automatically for SPICE
authorErik Skultety <eskultet@redhat.com>
Thu, 6 Dec 2018 15:12:14 +0000 (16:12 +0100)
committerErik Skultety <eskultet@redhat.com>
Tue, 11 Dec 2018 14:15:17 +0000 (15:15 +0100)
Commit 255e0732 introduced a few graphics-related helpers. The problem
is that virDomainGraphicsNeedsAutoRenderNode returns true if it gets
NULL as a response from virDomainGraphicsNeedsAutoRenderNode. That's
okay for egl-headless because that one always needs a DRM render node,
the same is not true for SPICE though, and unless the XML specifies
<gl enable='yes'> for SPICE, there's no need for any renderer.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index b70dca6c619cc3613f2ec8cbc11a580a25dc8c09..efa0a94f398bc264a012ab7aed8a2eff1766d0c4 100644 (file)
@@ -30982,8 +30982,7 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics)
 
     switch (graphics->type) {
     case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
-        if (graphics->data.spice.gl == VIR_TRISTATE_BOOL_YES)
-            ret = graphics->data.spice.rendernode;
+        ret = graphics->data.spice.rendernode;
         break;
     case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
         ret = graphics->data.egl_headless.rendernode;
@@ -31006,6 +31005,10 @@ virDomainGraphicsNeedsAutoRenderNode(const virDomainGraphicsDef *graphics)
     if (!virDomainGraphicsSupportsRenderNode(graphics))
         return false;
 
+    if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
+        graphics->data.spice.gl != VIR_TRISTATE_BOOL_YES)
+        return false;
+
     if (virDomainGraphicsGetRenderNode(graphics))
         return false;