aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanylo Piliaiev <[email protected]>2020-05-22 13:36:31 +0300
committerMarge Bot <[email protected]>2020-05-22 14:50:21 +0000
commit40255831230a6dba45b09ab98d5b626a5bdb18ef (patch)
tree669d5e87ae4f2c4834b19ae6947a712365627199 /src
parent0d2ec80dea8adf3089f187f8c0e9bdbcb135b4f2 (diff)
mesa: Fix double-lock of Shared->FrameBuffers and usage of wrong mutex
Fixes: 7534c536ca0f4b2b123200f421460094034f37a3 Fixes: 8cfb3e4ee57070ff45e7534a986a20c5fd649dc7 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3024 Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5160>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/fbobject.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 3d35b9bdc33..298a6b35d0a 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -174,21 +174,16 @@ _mesa_lookup_framebuffer_dsa(struct gl_context *ctx, GLuint id,
/* Name exists but buffer is not initialized */
if (fb == &DummyFramebuffer) {
fb = ctx->Driver.NewFramebuffer(ctx, id);
- _mesa_HashLockMutex(ctx->Shared->FrameBuffers);
_mesa_HashInsert(ctx->Shared->FrameBuffers, id, fb);
- _mesa_HashUnlockMutex(ctx->Shared->BufferObjects);
}
/* Name doesn't exist */
else if (!fb) {
- _mesa_HashLockMutex(ctx->Shared->FrameBuffers);
fb = ctx->Driver.NewFramebuffer(ctx, id);
if (!fb) {
- _mesa_HashUnlockMutex(ctx->Shared->FrameBuffers);
_mesa_error(ctx, GL_OUT_OF_MEMORY, "%s", func);
return NULL;
}
- _mesa_HashInsertLocked(ctx->Shared->BufferObjects, id, fb);
- _mesa_HashUnlockMutex(ctx->Shared->BufferObjects);
+ _mesa_HashInsert(ctx->Shared->FrameBuffers, id, fb);
}
return fb;
}
@@ -4764,9 +4759,7 @@ lookup_named_framebuffer_ext_dsa(struct gl_context *ctx, GLuint framebuffer, con
/* Then, make sure it's initialized */
if (fb == &DummyFramebuffer) {
fb = ctx->Driver.NewFramebuffer(ctx, framebuffer);
- _mesa_HashLockMutex(ctx->Shared->FrameBuffers);
_mesa_HashInsert(ctx->Shared->FrameBuffers, framebuffer, fb);
- _mesa_HashUnlockMutex(ctx->Shared->BufferObjects);
}
}
else