mesa: unref syncobj after wait_sync
Before returning the wait_sync() function, the sync object must be
unreferenced.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6377
Fixes: 0af7c1e385 ("mesa/st: merge the syncobj code from st into mesa")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16242>
This commit is contained in:
committed by
Marge Bot
parent
1585d12dec
commit
a47375d4da
@@ -409,14 +409,17 @@ wait_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
|
||||
|
||||
/* Nothing needs to be done here if the driver does not support async
|
||||
* flushes. */
|
||||
if (!pipe->fence_server_sync)
|
||||
if (!pipe->fence_server_sync) {
|
||||
_mesa_unref_sync_object(ctx, syncObj, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
/* If the fence doesn't exist, assume it's signalled. */
|
||||
simple_mtx_lock(&syncObj->mutex);
|
||||
if (!syncObj->fence) {
|
||||
simple_mtx_unlock(&syncObj->mutex);
|
||||
syncObj->StatusFlag = GL_TRUE;
|
||||
_mesa_unref_sync_object(ctx, syncObj, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user