On Tue, May 10, 2022 at 11:24:31 -0500, Jonathon Jongsma wrote:
This can improve performance for some guests since it reduces copying
of
display data between host and guest. Requires udmabuf on the host.
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
src/qemu/qemu_cgroup.c | 22 ++++++----
src/qemu/qemu_command.c | 3 ++
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_namespace.c | 22 ++++++++++
src/qemu/qemu_validate.c | 9 ++++
.../video-virtio-blob-absent.args | 34 +++++++++++++++
.../video-virtio-blob-absent.xml | 33 +++++++++++++++
.../video-virtio-blob-off.args | 34 +++++++++++++++
.../video-virtio-blob-off.xml | 33 +++++++++++++++
.../video-virtio-blob-on.args | 34 +++++++++++++++
.../qemuxml2argvdata/video-virtio-blob-on.xml | 33 +++++++++++++++
.../video-virtio-vga-blob-on.args | 34 +++++++++++++++
.../video-virtio-vga-blob-on.xml | 33 +++++++++++++++
tests/qemuxml2argvtest.c | 12 ++++++
.../video-virtio-blob-absent.xml | 41 +++++++++++++++++++
.../video-virtio-blob-off.xml | 41 +++++++++++++++++++
.../video-virtio-blob-on.xml | 41 +++++++++++++++++++
.../video-virtio-vga-blob-on.xml | 41 +++++++++++++++++++
tests/qemuxml2xmltest.c | 12 ++++++
19 files changed, 506 insertions(+), 7 deletions(-)
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.xml
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.xml
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.xml
create mode 100644 tests/qemuxml2argvdata/video-virtio-vga-blob-on.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-vga-blob-on.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-absent.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-off.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-on.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-vga-blob-on.xml
[...]
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 1d6e03490d..b2de8ef44f 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2437,6 +2437,18 @@ mymain(void)
DO_TEST("video-virtio-vga",
QEMU_CAPS_DEVICE_VIRTIO_GPU,
QEMU_CAPS_DEVICE_VIRTIO_VGA);
+ DO_TEST("video-virtio-blob-on",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-vga-blob-on",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_DEVICE_VIRTIO_VGA,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-blob-off",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-blob-absent",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU);
DO_TEST_CAPS_LATEST("video-virtio-vga-gpu-gl");
DO_TEST_CAPS_LATEST("video-bochs-display-device");
DO_TEST_CAPS_LATEST("video-ramfb-display-device");
[...]
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 518842112e..3d31a1480f 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -1278,6 +1278,18 @@ mymain(void)
QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW);
DO_TEST("video-none-device", QEMU_CAPS_VNC);
DO_TEST_CAPS_LATEST("video-virtio-vga-gpu-gl");
+ DO_TEST("video-virtio-blob-on",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-vga-blob-on",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_DEVICE_VIRTIO_VGA,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-blob-off",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU,
+ QEMU_CAPS_VIRTIO_GPU_BLOB);
+ DO_TEST("video-virtio-blob-absent",
+ QEMU_CAPS_DEVICE_VIRTIO_GPU);
Please make sure to preferrably use DO_TEST_CAPS_LATEST or
DO_TEST_CAPS_VER for positive test cases, unless there's a very
specific need to test with a certain flag combination.
I can have a closer look at this series later once I finish the other
stuff I planned to review.