diff options
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r-- | src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 5 |
1 files changed, 4 insertions, 1 deletions
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); |