Mesa (main): 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
Mon Aug 30 17:43:35 UTC 2021


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

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>

---

 src/gallium/winsys/svga/drm/vmw_buffer.c | 34 +++++++++++++++-----------------
 1 file changed, 16 insertions(+), 18 deletions(-)

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