Mesa (master): virgl: add exported dmabuf to BO hash table

Dave Airlie airlied at kemper.freedesktop.org
Thu Jul 28 23:10:11 UTC 2016


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

Author: Rob Herring <robh at kernel.org>
Date:   Fri Jun 17 17:25:35 2016 -0500

virgl: add exported dmabuf to BO hash table

Exported dmabufs can get imported by the same process, but the handle was
not getting added to the hash table on export. Add the handle to the hash
table on export.

Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
index 81afa84..11385b2 100644
--- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
+++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
@@ -489,6 +489,9 @@ static boolean virgl_drm_winsys_resource_get_handle(struct virgl_winsys *qws,
    } else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
       if (drmPrimeHandleToFD(qdws->fd, res->bo_handle, DRM_CLOEXEC, (int*)&whandle->handle))
             return FALSE;
+      pipe_mutex_lock(qdws->bo_handles_mutex);
+      util_hash_table_set(qdws->bo_handles, (void *)(uintptr_t)res->bo_handle, res);
+      pipe_mutex_unlock(qdws->bo_handles_mutex);
    }
    whandle->stride = stride;
    return TRUE;




More information about the mesa-commit mailing list