From: Dave Airlie Date: Tue, 9 Apr 2019 05:00:48 +0000 (+1000) Subject: virgl/drm: insert correct handles into the table. (v3) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ce17e413de6cbb66a84d71caa445f44c3ddb1a2b;p=mesa.git virgl/drm: insert correct handles into the table. (v3) This inserts a handle for the flink name and a handle the correct gem handle for the bo. v2: fix handles/names confusion (Lepton Wu) v3: set flink name correctly (Lepton Wu) Reviewed-by: Chia-I Wu --- diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c index 4c8947bf679..c35d58b0552 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c @@ -438,6 +438,7 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws, goto done; } res->bo_handle = open_arg.handle; + res->flink_name = whandle->handle; } memset(&info_arg, 0, sizeof(info_arg)); @@ -457,7 +458,9 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws, pipe_reference_init(&res->reference, 1); res->num_cs_references = 0; - util_hash_table_set(qdws->bo_handles, (void *)(uintptr_t)handle, res); + if (res->flink_name) + util_hash_table_set(qdws->bo_names, (void *)(uintptr_t)res->flink_name, res); + util_hash_table_set(qdws->bo_handles, (void *)(uintptr_t)res->bo_handle, res); done: mtx_unlock(&qdws->bo_handles_mutex);