From: Gurchetan Singh <gurchetansingh@chromium.org>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, akihiko.odaki@gmail.com,
dmitry.osipenko@collabora.com, ray.huang@amd.com,
alex.bennee@linaro.org, ernunes@redhat.com, hi@alyssa.is,
shentey@gmail.com
Subject: [PATCH v5 0/9] gfxstream + rutabaga_gfx
Date: Mon, 14 Aug 2023 17:35:17 -0700 [thread overview]
Message-ID: <20230815003526.631-1-gurchetansingh@chromium.org> (raw)
From: Gurchetan Singh <gurchetansingh@google.com>
Prior versions:
v4:
https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg01566.html
v3:
https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg00565.html
v2:
https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg05801.html
v1:
https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg02341.html
RFC:
https://patchew.org/QEMU/20230421011223.718-1-gurchetansingh@chromium.org/
Changes since v4:
- Incorporated review feedback
There area a few things I didn't fully incorporate and here are reasons
why:
"Perhaps it's better to add another parameter to CHECK() and pass values
other than VIRTIO_GPU_RESP_ERR_UNSPEC where appropriate although I doubt
anyone cares" - Akihiko Odaki
The rutabaga_debug_cb will give a more detailed description of the error
in most cases anyways, so I didn't change the macro for simplicity.
"I think it's better to make a hard error if the user requested
RUTABAGA_CAPSET_CROSS_DOMAIN but the default socket path does not fit in
wayland_socket_path." - Akihiko Odaki
It is possible to use cross-domain without enabling Wayland, for guest
swapchain allocation [a] which often needs special handling. We might
want to use this capability on MacOS/Windows in the future without
Wayland, hence we shouldn't hard error if the default wayland socket
isn't found.
[a] https://android.googlesource.com/platform/external/minigbm/+/refs/heads/main/virtgpu_cross_domain.c
"Originally, Antonio Caggiano implemented the virgl_cmd_resource_xxx_blob
in virtio-gpu-virgl.c. Could you have a way to re-use that kinds of
functions in your implemenation?" - Ray Huang
Those patches haven't landed yet. Once a blob-enabled series does land, I
do think makes sense to factor out generic helpers where-ever possible.
Otherwise, all other suggestions are in v5.
How to build both rutabaga and gfxstream guest/host libs:
https://crosvm.dev/book/appendix/rutabaga_gfx.html
Branch containing this patch series:
https://gitlab.freedesktop.org/gurchetansingh/qemu-gfxstream/-/commits/qemu-gfxstream-v5
Antonio Caggiano (2):
virtio-gpu: CONTEXT_INIT feature
virtio-gpu: blob prep
Dr. David Alan Gilbert (1):
virtio: Add shared memory capability
Gerd Hoffmann (1):
virtio-gpu: hostmem
Gurchetan Singh (5):
gfxstream + rutabaga prep: added need defintions, fields, and options
gfxstream + rutabaga: add initial support for gfxstream
gfxstream + rutabaga: meson support
gfxstream + rutabaga: enable rutabaga
docs/system: add basic virtio-gpu documentation
docs/system/device-emulation.rst | 1 +
docs/system/devices/virtio-gpu.rst | 113 +++
hw/display/meson.build | 22 +
hw/display/virtio-gpu-base.c | 6 +-
hw/display/virtio-gpu-pci-rutabaga.c | 48 ++
hw/display/virtio-gpu-pci.c | 14 +
hw/display/virtio-gpu-rutabaga.c | 1114 ++++++++++++++++++++++++++
hw/display/virtio-gpu.c | 16 +-
hw/display/virtio-vga-rutabaga.c | 51 ++
hw/display/virtio-vga.c | 33 +-
hw/virtio/virtio-pci.c | 18 +
include/hw/virtio/virtio-gpu-bswap.h | 18 +
include/hw/virtio/virtio-gpu.h | 41 +
include/hw/virtio/virtio-pci.h | 4 +
meson.build | 7 +
meson_options.txt | 2 +
scripts/meson-buildoptions.sh | 3 +
softmmu/qdev-monitor.c | 3 +
softmmu/vl.c | 1 +
19 files changed, 1496 insertions(+), 19 deletions(-)
create mode 100644 docs/system/devices/virtio-gpu.rst
create mode 100644 hw/display/virtio-gpu-pci-rutabaga.c
create mode 100644 hw/display/virtio-gpu-rutabaga.c
create mode 100644 hw/display/virtio-vga-rutabaga.c
--
2.41.0.694.ge786442a9b-goog
next reply other threads:[~2023-08-15 0:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-15 0:35 Gurchetan Singh [this message]
2023-08-15 0:35 ` [PATCH v5 1/9] virtio: Add shared memory capability Gurchetan Singh
2023-08-15 0:35 ` [PATCH v5 2/9] virtio-gpu: CONTEXT_INIT feature Gurchetan Singh
2023-08-15 0:35 ` [PATCH v5 3/9] virtio-gpu: hostmem Gurchetan Singh
2023-08-15 14:11 ` Manos Pitsidianakis
2023-08-15 0:35 ` [PATCH v5 4/9] virtio-gpu: blob prep Gurchetan Singh
2023-08-15 14:17 ` Manos Pitsidianakis
2023-08-15 0:35 ` [PATCH v5 5/9] gfxstream + rutabaga prep: added need defintions, fields, and options Gurchetan Singh
2023-08-15 14:31 ` Manos Pitsidianakis
2023-08-15 0:35 ` [PATCH v5 6/9] gfxstream + rutabaga: add initial support for gfxstream Gurchetan Singh
2023-08-15 14:40 ` Manos Pitsidianakis
2023-08-15 15:07 ` Akihiko Odaki
2023-08-15 15:50 ` Gurchetan Singh
2023-08-16 15:15 ` Akihiko Odaki
2023-08-15 0:35 ` [PATCH v5 7/9] gfxstream + rutabaga: meson support Gurchetan Singh
2023-08-15 15:03 ` Manos Pitsidianakis
2023-08-15 0:35 ` [PATCH v5 8/9] gfxstream + rutabaga: enable rutabaga Gurchetan Singh
2023-08-15 15:06 ` Manos Pitsidianakis
2023-08-15 0:35 ` [PATCH v5 9/9] docs/system: add basic virtio-gpu documentation Gurchetan Singh
2023-08-15 15:06 ` Manos Pitsidianakis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230815003526.631-1-gurchetansingh@chromium.org \
--to=gurchetansingh@chromium.org \
--cc=akihiko.odaki@gmail.com \
--cc=alex.bennee@linaro.org \
--cc=dmitry.osipenko@collabora.com \
--cc=ernunes@redhat.com \
--cc=hi@alyssa.is \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ray.huang@amd.com \
--cc=shentey@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).