]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge tag 'gpu-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging
authorStefan Hajnoczi <stefanha@redhat.com>
Tue, 17 Oct 2023 14:05:51 +0000 (10:05 -0400)
committerStefan Hajnoczi <stefanha@redhat.com>
Tue, 17 Oct 2023 14:05:51 +0000 (10:05 -0400)
virtio-gpu rutabaga support

# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmUtP5YcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5X9CD/4s1n/GZyDr9bh04V03
# otAqtq2CSyuUOviqBrqxYgraCosUD1AuX8WkDy5cCPtnKC4FxRjgVlm9s7K/yxOW
# xZ78e4oVgB1F3voOq6LgtKK6BRG/BPqNzq9kuGcayCHQbSxg7zZVwa702Y18r2ZD
# pjOhbZCrJTSfASL7C3e/rm7798Wk/hzSrClGR56fbRAVgQ6Lww2L97/g0nHyDsWK
# DrCBrdqFtKjpLeUHmcqqS4AwdpG2SyCgqE7RehH/wOhvGTxh/JQvHbLGWK2mDC3j
# Qvs8mClC5bUlyNQuUz7lZtXYpzCW6VGMWlz8bIu+ncgSt6RK1TRbdEfDJPGoS4w9
# ZCGgcTxTG/6BEO76J/VpydfTWDo1FwQCQ0Vv7EussGoRTLrFC3ZRFgDWpqCw85yi
# AjPtc0C49FHBZhK0l1CoJGV4gGTDtD9jTYN0ffsd+aQesOjcsgivAWBaCOOQWUc8
# KOv9sr4kLLxcnuCnP7p/PuVRQD4eg0TmpdS8bXfnCzLSH8fCm+n76LuJEpGxEBey
# 3KPJPj/1BNBgVgew+znSLD/EYM6YhdK2gF5SNrYsdR6UcFdrPED/xmdhzFBeVym/
# xbBWqicDw4HLn5YrJ4tzqXje5XUz5pmJoT5zrRMXTHiu4pjBkEXO/lOdAoFwSy8M
# WNOtmSyB69uCrbyLw6xE2/YX8Q==
# =5a/Z
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 16 Oct 2023 09:50:14 EDT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg:                issuer "marcandre.lureau@redhat.com"
# gpg: Good signature from "Marc-AndrĂ© Lureau <marcandre.lureau@redhat.com>" [full]
# gpg:                 aka "Marc-AndrĂ© Lureau <marcandre.lureau@gmail.com>" [full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'gpu-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
  docs/system: add basic virtio-gpu documentation
  gfxstream + rutabaga: enable rutabaga
  gfxstream + rutabaga: meson support
  gfxstream + rutabaga: add initial support for gfxstream
  gfxstream + rutabaga prep: added need defintions, fields, and options
  virtio-gpu: blob prep
  virtio-gpu: hostmem
  virtio-gpu: CONTEXT_INIT feature
  virtio: Add shared memory capability

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
1  2 
include/hw/virtio/virtio-gpu.h

index 4739fa4689422e964064cdcf3dbc94e04dc1e27c,39018377d2128cc5e9e9bde40fcaaeeb5b72fc21..584ba2ed734c6bf97f13b14c6981879561ca2710
@@@ -224,14 -238,35 +238,35 @@@ struct VhostUserGPU 
      bool backend_blocked;
  };
  
+ #define MAX_SLOTS 4096
+ struct MemoryRegionInfo {
+     int used;
+     MemoryRegion mr;
+     uint32_t resource_id;
+ };
+ struct rutabaga;
+ struct VirtIOGPURutabaga {
+     VirtIOGPU parent_obj;
+     struct MemoryRegionInfo memory_regions[MAX_SLOTS];
+     uint64_t capset_mask;
+     char *wayland_socket_path;
+     char *wsi;
+     bool headless;
+     uint32_t num_capsets;
+     struct rutabaga *rutabaga;
+ };
  #define VIRTIO_GPU_FILL_CMD(out) do {                                   \
 -        size_t s;                                                       \
 -        s = iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, 0,          \
 +        size_t virtiogpufillcmd_s_ =                                    \
 +            iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, 0,          \
                         &out, sizeof(out));                              \
 -        if (s != sizeof(out)) {                                         \
 +        if (virtiogpufillcmd_s_ != sizeof(out)) {                       \
              qemu_log_mask(LOG_GUEST_ERROR,                              \
                            "%s: command size incorrect %zu vs %zu\n",    \
 -                          __func__, s, sizeof(out));                    \
 +                          __func__, virtiogpufillcmd_s_, sizeof(out));  \
              return;                                                     \
          }                                                               \
      } while (0)