mesa: use simple_mtx_t for TexMutex
authorMarek Olšák <marek.olsak@amd.com>
Fri, 1 Oct 2021 19:46:48 +0000 (15:46 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 5 Oct 2021 23:46:14 +0000 (23:46 +0000)
change mtx_recursive -> mtx_plain, there's no recursive locking

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13152>

src/mesa/main/glthread.c
src/mesa/main/mtypes.h
src/mesa/main/shared.c
src/mesa/main/texobj.c
src/mesa/main/texobj.h

index 47353d5..49c3502 100644 (file)
@@ -55,7 +55,7 @@ glthread_unmarshal_batch(void *job, void *gdata, int thread_index)
 
    _mesa_HashLockMutex(ctx->Shared->BufferObjects);
    ctx->BufferObjectsLocked = true;
-   mtx_lock(&ctx->Shared->TexMutex);
+   simple_mtx_lock(&ctx->Shared->TexMutex);
    ctx->TexturesLocked = true;
 
    while (pos < used) {
@@ -66,7 +66,7 @@ glthread_unmarshal_batch(void *job, void *gdata, int thread_index)
    }
 
    ctx->TexturesLocked = false;
-   mtx_unlock(&ctx->Shared->TexMutex);
+   simple_mtx_unlock(&ctx->Shared->TexMutex);
    ctx->BufferObjectsLocked = false;
    _mesa_HashUnlockMutex(ctx->Shared->BufferObjects);
 
index 989d652..96875b9 100644 (file)
@@ -3387,7 +3387,7 @@ struct gl_shared_state
     * \todo Improve the granularity of locking.
     */
    /*@{*/
-   mtx_t TexMutex;             /**< texobj thread safety */
+   simple_mtx_t TexMutex;              /**< texobj thread safety */
    GLuint TextureStateStamp;           /**< state notification for shared tex */
    /*@}*/
 
index ac06d43..f91dfd6 100644 (file)
@@ -128,7 +128,7 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
    assert(shared->DefaultTex[TEXTURE_1D_INDEX]->RefCount == 1);
 
    /* Mutex and timestamp for texobj state validation */
-   mtx_init(&shared->TexMutex, mtx_recursive);
+   simple_mtx_init(&shared->TexMutex, mtx_plain);
    shared->TextureStateStamp = 0;
 
    shared->FrameBuffers = _mesa_NewHashTable();
@@ -459,7 +459,7 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
    }
 
    simple_mtx_destroy(&shared->Mutex);
-   mtx_destroy(&shared->TexMutex);
+   simple_mtx_destroy(&shared->TexMutex);
 
    free(shared);
 }
index ff594b0..1028508 100644 (file)
@@ -2161,7 +2161,7 @@ void
 _mesa_lock_context_textures( struct gl_context *ctx )
 {
    if (!ctx->TexturesLocked)
-      mtx_lock(&ctx->Shared->TexMutex);
+      simple_mtx_lock(&ctx->Shared->TexMutex);
 
    if (ctx->Shared->TextureStateStamp != ctx->TextureStateTimestamp) {
       ctx->NewState |= _NEW_TEXTURE_OBJECT;
@@ -2176,7 +2176,7 @@ _mesa_unlock_context_textures( struct gl_context *ctx )
 {
    assert(ctx->Shared->TextureStateStamp == ctx->TextureStateTimestamp);
    if (!ctx->TexturesLocked)
-      mtx_unlock(&ctx->Shared->TexMutex);
+      simple_mtx_unlock(&ctx->Shared->TexMutex);
 }
 
 
index 22e98d9..c933390 100644 (file)
@@ -103,7 +103,7 @@ static inline void
 _mesa_lock_texture(struct gl_context *ctx, struct gl_texture_object *texObj)
 {
    if (!ctx->TexturesLocked)
-      mtx_lock(&ctx->Shared->TexMutex);
+      simple_mtx_lock(&ctx->Shared->TexMutex);
    ctx->Shared->TextureStateStamp++;
    (void) texObj;
 }
@@ -113,7 +113,7 @@ _mesa_unlock_texture(struct gl_context *ctx, struct gl_texture_object *texObj)
 {
    (void) texObj;
    if (!ctx->TexturesLocked)
-      mtx_unlock(&ctx->Shared->TexMutex);
+      simple_mtx_unlock(&ctx->Shared->TexMutex);
 }