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

Author: Maaz Mombasawala <[email protected]>
Date:   Thu Aug 17 16:17:56 2023 -0700

svga: Make surfaces shareable at creation.

There is no need to have a separate shareable pool of surfaces, we can make
all surfaces shareable.
This change makes all surfaces shareable when creating them.

Signed-off-by: Maaz Mombasawala <[email protected]>
Reviewed-by: Charmaine Lee <[email protected]>
Reviewed-by: Martin Krastev <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25832>

---

 src/gallium/winsys/svga/drm/vmw_screen_ioctl.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/gallium/winsys/svga/drm/vmw_screen_ioctl.c 
b/src/gallium/winsys/svga/drm/vmw_screen_ioctl.c
index 563e2eb72b7..dc5ba16e366 100644
--- a/src/gallium/winsys/svga/drm/vmw_screen_ioctl.c
+++ b/src/gallium/winsys/svga/drm/vmw_screen_ioctl.c
@@ -159,7 +159,7 @@ vmw_ioctl_surface_create(struct vmw_winsys_screen *vws,
    req->flags = (uint32_t) flags;
    req->scanout = !!(usage & SVGA_SURFACE_USAGE_SCANOUT);
    req->format = (uint32_t) format;
-   req->shareable = !!(usage & SVGA_SURFACE_USAGE_SHARED);
+   req->shareable = TRUE;
 
    assert(numFaces * numMipLevels < DRM_VMW_MAX_SURFACE_FACES*
          DRM_VMW_MAX_MIP_LEVELS);
@@ -244,12 +244,10 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
       if (usage & SVGA_SURFACE_USAGE_SCANOUT)
          req->base.drm_surface_flags |= drm_vmw_surface_flag_scanout;
 
-      if (usage & SVGA_SURFACE_USAGE_SHARED)
-         req->base.drm_surface_flags |= drm_vmw_surface_flag_shareable;
-
       if ((usage & SVGA_SURFACE_USAGE_COHERENT) || vws->force_coherent)
          req->base.drm_surface_flags |= drm_vmw_surface_flag_coherent;
 
+      req->base.drm_surface_flags |= drm_vmw_surface_flag_shareable;
       req->base.drm_surface_flags |= drm_vmw_surface_flag_create_buffer;
       req->base.base_size.width = size.width;
       req->base.base_size.height = size.height;
@@ -286,8 +284,7 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
       if (usage & SVGA_SURFACE_USAGE_SCANOUT)
          req->drm_surface_flags |= drm_vmw_surface_flag_scanout;
 
-      if (usage & SVGA_SURFACE_USAGE_SHARED)
-         req->drm_surface_flags |= drm_vmw_surface_flag_shareable;
+      req->drm_surface_flags |= drm_vmw_surface_flag_shareable;
 
       req->drm_surface_flags |= drm_vmw_surface_flag_create_buffer;
       req->base_size.width = size.width;

Reply via email to