0a7476
From 6203494c845ce2c2468485274d64f4e041ad4a5b Mon Sep 17 00:00:00 2001
0a7476
Message-Id: <6203494c845ce2c2468485274d64f4e041ad4a5b@dist-git>
0a7476
From: Erik Skultety <eskultet@redhat.com>
0a7476
Date: Tue, 9 Apr 2019 08:34:29 +0200
0a7476
Subject: [PATCH] qemu: caps: Introduce QEMU_EGL_HEADLESS_RENDERNODE capability
0a7476
MIME-Version: 1.0
0a7476
Content-Type: text/plain; charset=UTF-8
0a7476
Content-Transfer-Encoding: 8bit
0a7476
0a7476
Now that we have QAPI introspection of display types in QEMU upstream,
0a7476
we can check whether the 'rendernode' option is supported with
0a7476
egl-headless display type.
0a7476
0a7476
Signed-off-by: Erik Skultety <eskultet@redhat.com>
0a7476
Reviewed-by: Ján Tomko <jtomko@redhat.com>
0a7476
(cherry picked from commit 312063b7664c992f959028ef516402ce175c3dfc)
0a7476
0a7476
https://bugzilla.redhat.com/show_bug.cgi?id=1628892
0a7476
Signed-off-by: Erik Skultety <eskultet@redhat.com>
0a7476
0a7476
 Conflicts:
0a7476
	src/qemu/qemu_capabilities.c
0a7476
	src/qemu/qemu_capabilities.h
0a7476
	tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
0a7476
            Context - several other capabilities were not backported.
0a7476
Message-Id: <c7b6c70550d4ce83b8a692a1cd2b94f2c8aac402.1554791287.git.eskultet@redhat.com>
0a7476
0a7476
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
0a7476
---
0a7476
 src/qemu/qemu_capabilities.c                     | 2 ++
0a7476
 src/qemu/qemu_capabilities.h                     | 1 +
0a7476
 tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 +
0a7476
 3 files changed, 4 insertions(+)
0a7476
0a7476
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
0a7476
index a27ea85824..66eefae988 100644
0a7476
--- a/src/qemu/qemu_capabilities.c
0a7476
+++ b/src/qemu/qemu_capabilities.c
0a7476
@@ -507,6 +507,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
0a7476
 
0a7476
               /* 315 */
0a7476
               "vfio-pci.display",
0a7476
+              "egl-headless.rendernode"
0a7476
     );
0a7476
 
0a7476
 
0a7476
@@ -1306,6 +1307,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
0a7476
     { "blockdev-add/arg-type/+qcow2/encrypt/+luks/key-secret", QEMU_CAPS_QCOW2_LUKS },
0a7476
     { "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS },
0a7476
     { "screendump/arg-type/device", QEMU_CAPS_SCREENDUMP_DEVICE },
0a7476
+    { "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS_EGL_HEADLESS_RENDERNODE },
0a7476
 };
0a7476
 
0a7476
 typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
0a7476
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
0a7476
index 25ad4218e0..76916d02fa 100644
0a7476
--- a/src/qemu/qemu_capabilities.h
0a7476
+++ b/src/qemu/qemu_capabilities.h
0a7476
@@ -491,6 +491,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
0a7476
 
0a7476
     /* 315 */
0a7476
     QEMU_CAPS_VFIO_PCI_DISPLAY, /* -device vfio-pci.display */
0a7476
+    QEMU_CAPS_EGL_HEADLESS_RENDERNODE, /* -display egl-headless,rendernode= */
0a7476
 
0a7476
     QEMU_CAPS_LAST /* this must always be the last item */
0a7476
 } virQEMUCapsFlags;
0a7476
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
0a7476
index cbeea14796..be044c6a7a 100644
0a7476
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
0a7476
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
0a7476
@@ -215,6 +215,7 @@
0a7476
   <flag name='usb-storage.werror'/>
0a7476
   <flag name='egl-headless'/>
0a7476
   <flag name='vfio-pci.display'/>
0a7476
+  <flag name='egl-headless.rendernode'/>
0a7476
   <version>3000092</version>
0a7476
   <kvmVersion>0</kvmVersion>
0a7476
   <microcodeVersion>441682</microcodeVersion>
0a7476
-- 
0a7476
2.21.0
0a7476