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: 00c30dad78 ("gallium: renumber PIPE_MAP_* enums to remove holes")

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12606>
(cherry picked from commit 98fded8a39)
This commit is contained in:
Neha Bhende 2021-08-27 13:04:20 -07:00 committed by Dylan Baker
parent a02b68ac25
commit 808f6e6095
2 changed files with 16 additions and 18 deletions

View file

@ -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"
},

View file

@ -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);
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), flags & PB_USAGE_ALL, NULL);
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;