Mesa (main): freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 27 23:33:33 UTC 2022


Module: Mesa
Branch: main
Commit: fa23ddf258b3a2fe079194e5e0e15daf006005fe
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa23ddf258b3a2fe079194e5e0e15daf006005fe

Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Apr 12 10:24:16 2022 -0700

freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE

A shareable bo should also be mappable if FD_BO_NOMAP is not set.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086>

---

 src/freedreno/drm/virtio/virtio_bo.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/freedreno/drm/virtio/virtio_bo.c b/src/freedreno/drm/virtio/virtio_bo.c
index ff111685ca9..2cf21b26785 100644
--- a/src/freedreno/drm/virtio/virtio_bo.c
+++ b/src/freedreno/drm/virtio/virtio_bo.c
@@ -422,9 +422,12 @@ virtio_bo_new(struct fd_device *dev, uint32_t size, uint32_t flags)
       if (flags & (FD_BO_SHARED | FD_BO_SCANOUT)) {
          args.blob_flags = VIRTGPU_BLOB_FLAG_USE_CROSS_DEVICE |
                VIRTGPU_BLOB_FLAG_USE_SHAREABLE;
-      } else if (!(flags & FD_BO_NOMAP)) {
-         args.blob_flags = VIRTGPU_BLOB_FLAG_USE_MAPPABLE;
       }
+
+      if (!(flags & FD_BO_NOMAP)) {
+         args.blob_flags |= VIRTGPU_BLOB_FLAG_USE_MAPPABLE;
+      }
+
       args.blob_id = p_atomic_inc_return(&virtio_dev->next_blob_id);
       args.cmd = VOID2U64(&req);
       args.cmd_size = sizeof(req);



More information about the mesa-commit mailing list