diff options
author | Matt Turner <[email protected]> | 2015-07-30 14:31:04 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2016-05-20 10:05:09 -0700 |
commit | 015f2207cfa2334fb3bca5b6b941666ebf73e829 (patch) | |
tree | f81f353c0401073c5e0d0748d1530045fe06b0ea /src/mesa/main/dlist.c | |
parent | aded1160e5e722610dd474583d78e745291cbd75 (diff) |
mesa: Replace uses of Shared->Mutex with hash-table mutexes
We were locking the Shared->Mutex and then using calling functions like
_mesa_HashInsert that do additional per-hash-table locking internally.
Instead just lock each hash-table's mutex and use functions like
_mesa_HashInsertLocked and the new _mesa_HashRemoveLocked.
In order to do this, we need to remove the locking from
_mesa_HashFindFreeKeyBlock since it will always be called with the
per-hash-table lock taken.
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/dlist.c')
-rw-r--r-- | src/mesa/main/dlist.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index b15826c5a2b..43e2ffb3a78 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -9228,15 +9228,15 @@ _mesa_GenLists(GLsizei range) /* * Make this an atomic operation */ - mtx_lock(&ctx->Shared->Mutex); + _mesa_HashLockMutex(ctx->Shared->DisplayList); base = _mesa_HashFindFreeKeyBlock(ctx->Shared->DisplayList, range); if (base) { /* reserve the list IDs by with empty/dummy lists */ GLint i; for (i = 0; i < range; i++) { - _mesa_HashInsert(ctx->Shared->DisplayList, base + i, - make_list(base + i, 1)); + _mesa_HashInsertLocked(ctx->Shared->DisplayList, base + i, + make_list(base + i, 1)); } } @@ -9258,7 +9258,7 @@ _mesa_GenLists(GLsizei range) } } - mtx_unlock(&ctx->Shared->Mutex); + _mesa_HashUnlockMutex(ctx->Shared->DisplayList); return base; } |