Mesa (staging/21.2): svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 31 16:27:42 UTC 2021


Module: Mesa
Branch: staging/21.2
Commit: 808f6e6095b6d69f2eca0ff6664ef13a6578ceed
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=808f6e6095b6d69f2eca0ff6664ef13a6578ceed

Author: Neha Bhende <bhenden at vmware.com>
Date:   Fri Aug 27 13:04:20 2021 -0700

svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map

This patch basically maps pipe_map_flags to pb_flags. Since we are mapping it,
STATIC_ASSERTS won't be required.

Fixes: 00c30dad78b0 ("gallium: renumber PIPE_MAP_* enums to remove holes")

Reviewed-by: Charmaine Lee <charmainel at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12606>
(cherry picked from commit 98fded8a393a944c562cf3d9b103c42022cb821b)

---

 .pick_status.json                        |  2 +-
 src/gallium/winsys/svga/drm/vmw_buffer.c | 34 +++++++++++++++-----------------
 2 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 942f02d3125..c023dfce531 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -238,7 +238,7 @@
         "description": "svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "00c30dad78b0eb0a7e45caf38eda4e636a454ff6"
     },
diff --git a/src/gallium/winsys/svga/drm/vmw_buffer.c b/src/gallium/winsys/svga/drm/vmw_buffer.c
index d537c8be96e..6c235a9a486 100644
--- a/src/gallium/winsys/svga/drm/vmw_buffer.c
+++ b/src/gallium/winsys/svga/drm/vmw_buffer.c
@@ -357,32 +357,30 @@ vmw_svga_winsys_buffer_map(struct svga_winsys_screen *sws,
                            enum pipe_map_flags flags)
 {
    void *map;
+   enum pb_usage_flags pb_flags = 0;
 
    (void)sws;
    if (flags & PIPE_MAP_UNSYNCHRONIZED)
       flags &= ~PIPE_MAP_DONTBLOCK;
 
-   /* NOTE: we're passing PIPE_MAP_x flags instead of
-    * PB_USAGE_x flags here.  We should probably fix that.
-    */
-   STATIC_ASSERT((unsigned) PB_USAGE_CPU_READ ==
-                 (unsigned) PIPE_MAP_READ);
-   STATIC_ASSERT((unsigned) PB_USAGE_CPU_WRITE ==
-                 (unsigned) PIPE_MAP_WRITE);
-   STATIC_ASSERT((unsigned) PB_USAGE_GPU_READ ==
-                 (unsigned) PIPE_MAP_DIRECTLY);
-   STATIC_ASSERT((unsigned) PB_USAGE_DONTBLOCK ==
-                 (unsigned) PIPE_MAP_DONTBLOCK);
-   STATIC_ASSERT((unsigned) PB_USAGE_UNSYNCHRONIZED ==
-                 (unsigned) PIPE_MAP_UNSYNCHRONIZED);
-   STATIC_ASSERT((unsigned) PB_USAGE_PERSISTENT ==
-                 (unsigned) PIPE_MAP_PERSISTENT);
-
-   map = pb_map(vmw_pb_buffer(buf), flags & PB_USAGE_ALL, NULL);
+   if (flags & PIPE_MAP_READ)
+      pb_flags |= PB_USAGE_CPU_READ;
+   if (flags & PIPE_MAP_WRITE)
+      pb_flags |= PB_USAGE_CPU_WRITE;
+   if (flags & PIPE_MAP_DIRECTLY)
+      pb_flags |= PB_USAGE_GPU_READ;
+   if (flags & PIPE_MAP_DONTBLOCK)
+      pb_flags |= PB_USAGE_DONTBLOCK;
+   if (flags & PIPE_MAP_UNSYNCHRONIZED)
+      pb_flags |= PB_USAGE_UNSYNCHRONIZED;
+   if (flags & PIPE_MAP_PERSISTENT)
+      pb_flags |= PB_USAGE_PERSISTENT;
+
+   map = pb_map(vmw_pb_buffer(buf), pb_flags, NULL);
 
 #ifdef DEBUG
    if (map != NULL)
-      debug_flush_map(buf->fbuf, flags);
+      debug_flush_map(buf->fbuf, pb_flags);
 #endif
 
    return map;



More information about the mesa-commit mailing list