Mesa (master): iris: Finish initializing the BO before stuffing it in the hash table

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Sep 11 15:11:00 UTC 2019


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Sep 10 23:56:10 2019 -0700

iris: Finish initializing the BO before stuffing it in the hash table

Other threads may pick it up once it's in the hash table.  Not known
to fix anything currently.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

---

 src/gallium/drivers/iris/iris_bufmgr.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
index 2dc7e3eec4c..dfaba84b499 100644
--- a/src/gallium/drivers/iris/iris_bufmgr.c
+++ b/src/gallium/drivers/iris/iris_bufmgr.c
@@ -1305,15 +1305,13 @@ iris_bo_import_dmabuf(struct iris_bufmgr *bufmgr, int prime_fd)
       bo->size = ret;
 
    bo->bufmgr = bufmgr;
-
-   bo->gem_handle = handle;
-   _mesa_hash_table_insert(bufmgr->handle_table, &bo->gem_handle, bo);
-
    bo->name = "prime";
    bo->reusable = false;
    bo->external = true;
    bo->kflags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED;
    bo->gtt_offset = vma_alloc(bufmgr, IRIS_MEMZONE_OTHER, bo->size, 1);
+   bo->gem_handle = handle;
+   _mesa_hash_table_insert(bufmgr->handle_table, &bo->gem_handle, bo);
 
    struct drm_i915_gem_get_tiling get_tiling = { .handle = bo->gem_handle };
    if (gen_ioctl(bufmgr->fd, DRM_IOCTL_I915_GEM_GET_TILING, &get_tiling))




More information about the mesa-commit mailing list