From a235765d27d259edb7b028b8df55ef7240622242 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Fri, 17 Jun 2016 17:25:35 -0500 Subject: 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 Signed-off-by: Dave Airlie --- src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gallium/winsys/virgl') diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c index 81afa848732..11385b2faae 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; -- cgit v1.2.3