qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/9] gfxstream + rutabaga_gfx
@ 2023-08-15  0:35 Gurchetan Singh
  2023-08-15  0:35 ` [PATCH v5 1/9] virtio: Add shared memory capability Gurchetan Singh
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Gurchetan Singh @ 2023-08-15  0:35 UTC (permalink / raw)
  To: qemu-devel
  Cc: marcandre.lureau, akihiko.odaki, dmitry.osipenko, ray.huang,
	alex.bennee, ernunes, hi, shentey

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



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-08-16 15:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-15  0:35 [PATCH v5 0/9] gfxstream + rutabaga_gfx Gurchetan Singh
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

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).